所以这是我的问题,我正在接受朋友使用请求(),有时它可以工作,我得到了所有的朋友,但有时,我不会得到任何朋友,或者我会得到一些朋友,而不是其他人。什么是向朋友查询Facebook的最佳方式?最初查询后我应该等一下吗?这非常令人沮丧。
答案 0 :(得分:0)
使用图API:https://graph.facebook.com/me/friends?access_token=22274xyz ...........
有关详细信息:https://developers.facebook.com/docs/graph-api/reference/v2.1/user/friends
答案 1 :(得分:0)
这是您需要的所有编码:
private void getFriends(){
progressDialog.setMessage("Loading friends list");
progressDialog.show();
firendsDialog = new Dialog(this);
//getting all friends of your facebook account
try
{
Bundle params = new Bundle();
params.putString(Facebook.TOKEN, accessToken);
mAsyncRunner.request("me/friends" , params , "GET", new RequestListener()
{
@Override
public void onMalformedURLException(MalformedURLException e, Object state)
{
}
@Override
public void onIOException(IOException e, Object state)
{
}
@Override
public void onFileNotFoundException(FileNotFoundException e, Object state)
{
}
@Override
public void onFacebookError(FacebookError e, Object state)
{
}
@Override
public void onComplete(String response, Object state)
{
try
{
JSONObject responseJsonObject = new JSONObject(response);
Log.d("TAG", "FB Response =>"+ responseJsonObject);
final JSONArray jsonArray = responseJsonObject.getJSONArray("data");
for (int i = 0; i < jsonArray.length(); i++)
{
map = new HashMap<String, String>();
JSONObject e = jsonArray.getJSONObject(i);
map.put("id", e.getString("id"));
map.put("name", e.getString("name"));
mylist.add(map);
userIds = e.getString("id");
userName = e.getString("name");
Log.d("MainActivity:getAllEvents", "Friend ID, Name:" + userIds + "," + userName);
}
}
catch (Exception e)
{
Log.e("log_tag", "Error parsing data "+e.toString());
}
}
使用onComplete()在结交朋友后做任何你想做的事情。我已将所有朋友添加到地图数据结构中。