我创建了一个具有Facebook登录功能的Android应用程序,我一直试图让我的朋友正在使用我的应用程序。这意味着我想让我的朋友在我的应用程序中当前在线。虽然我的一些朋友在线,但我尝试了多种方式,并且每次都将online_presence称为“离线”。我试过的一些方法是
1. Added permissions (user_onlinepresence, friends_online presence, user_status) in app-appdetails- configure app center permissions. ----didn't work.
2.SELECT uid,name,online_presence FROM user WHERE online_presence IN('active','idle')AND uid IN(SELECT uid2 FROM friend WHERE uid1 = 1234)& access_token = xxxxxxtokenxxxxx& method = GET ---给我空数据(虽然许多使用我的应用程序的朋友都在线。)
我搜索了很多关于这个的信息。但没有得到任何有效的解决方案。我请求大家在这个问题上帮助我,并提供一个对我有用的解决方案。
答案 0 :(得分:0)
使用新版GraphRequest非常简单,只需添加此方法:
private String[] getUserContacts(){
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
try {
JSONArray rawContactsData = response.getJSONObject().getJSONArray("data");
contacts=new String[rawContactsData.length()];
for (int j = 0; j < rawContactsData.length(); j++) {
JSONObject item = rawContactsData.getJSONObject(j);
contacts[j]=item.getString("id");
}
Log.d("Contacts","ala"+rawContactsData);
getCalendarData();
}catch (JSONException e){
}
}
}
).executeAsync();
return contacts;
}