private void getFollowerList()
{
if (!Utils.isInternetOn(InviteFriendActivity.this)){
Utils.showToast(this,getString(R.string.no_internet));
return;
}
progressDialog.show();
final TwitterSession session = Twitter.getSessionManager()
.getActiveSession();
TwitterAuthToken authToken = session.getAuthToken();
String token = authToken.token;
String secret = authToken.secret;
//Here we get all the details of user's twitter account
Call<com.twitter.sdk.android.core.models.User> userCall= Twitter.getApiClient(session).getAccountService()
.verifyCredentials(true, false);
userCall.enqueue(new Callback<com.twitter.sdk.android.core.models.User>() {
@Override
public void onResponse(Call<com.twitter.sdk.android.core.models.User> call, Response<com.twitter.sdk.android.core.models.User> response) {
MyTwitterApiClient myTwitterApiClient = new MyTwitterApiClient(session);
myTwitterApiClient.getCustomService().list(response.body().id).enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
Log.e("list",response.body().toString());
BufferedReader reader = null;
StringBuilder sb = new StringBuilder();
reader = new BufferedReader(new InputStreamReader(response.body().byteStream()));
String line;
try {
while ((line = reader.readLine()) != null) {
sb.append(line);
}
} catch (IOException e) {
e.printStackTrace();
progressDialog.dismiss();
}
String result = sb.toString();
System.out.println("Response is>>>>>>>>>"+result);
JsonObject obj= new Gson().fromJson(result,JsonObject.class);
JsonArray usersArray= (JsonArray) obj.get("users");
JsonArray userIds = new JsonArray();
for(int i=0;i<usersArray.size();i++){
JsonObject userObject = (JsonObject) usersArray.get(i);
userIds.add(userObject.get("id_str"));
}
// Api call with Twitter followers ids
JsonObject jsonObject = new JsonObject();
jsonObject.add("twitter_ids",userIds);
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Utils.showToast(InviteFriendActivity.this,getString(R.string.something_went_wrong));
progressDialog.dismiss();
}
});
}
@Override
public void onFailure(Call<com.twitter.sdk.android.core.models.User> call, Throwable t) {
Utils.showToast(InviteFriendActivity.this,getString(R.string.something_went_wrong));
progressDialog.dismiss();
}
});
}
这是函数被调用来获得追随者列表。
public class MyTwitterApiClient extends TwitterApiClient {
public MyTwitterApiClient(TwitterSession session) {
super(session);
}
/**
* Provide CustomService with defined endpoints
*/
public Api getCustomService() {
return getService(Api.class);
}
}
这是ApiCLientClass
在这个例子中仅ID存储在onResponse方法 usersArray将包含所有用户列表与用户的全部信息
。 您可以删除并执行您的互联网连接检查,并显示我在Utils类中完成的烤面包。 而Api类是这样的
public interface Api {
@GET("/1.1/followers/list.json")
Call<ResponseBody> list(@Query("user_id") long id);
}
谢谢你。这是一个很好的帮助 – user7144720