jde*_*dev 8 android facebook facebook-graph-api parse-platform
我正在使用Parse和Facebook开发我的第一个Android应用程序,所以我对它很陌生.
我正在尝试检索用户的好友列表,Request.newMyFriendsRequest()但在使用真实用户进行测试时,它会给我一个空列表.
据我所知,只有Graph API v2.0这个请求才会返回同时使用该应用程序的人的朋友.
出于这个目的,我创建了一个假的Fb配置文件,我在Facebook上与我的真实个人资料成为朋友,安装了我的应用程序,ParseUser使用ParseFacebookUtils.link两个配置文件注册并与Facebook链接,但请求返回一个空的朋友列表.
我在Facebook的App仪表板中创建了几个测试用户,并模拟了他们之间的几个友谊.我在我的应用程序(注册parseUser,链接ParseFacebookUtils.link)中使用其中两个进行了相同的过程,并且列表users.size() 按预期返回2个朋友.
为什么它不适用于我的实际配置文件和假配置文件(这与任何其他实际配置文件一样)?
这是我链接配置文件的方式:
List<String> permissions = new ArrayList<String>();
permissions.add("public_profile");
permissions.add("user_friends");
ParseFacebookUtils.link(currentUser, permissions, MainActivity.this, new SaveCallback() {
@Override
public void done(ParseException ex) {
if (ParseFacebookUtils.isLinked(currentUser)) {
Log.d(TAG, "Woohoo, user logged in with Facebook!");
Toast.makeText(getApplicationContext(), "Facebook succesfully linked", Toast.LENGTH_LONG).show();
}
if (ex != null) {
Log.d (TAG, ex.getLocalizedMessage() + "\n + Exception Code: " + ex.getCode());
}
});
Run Code Online (Sandbox Code Playgroud)
这就是我如何请求朋友:
Request.newMyFriendsRequest(ParseFacebookUtils.getSession(), new GraphUserListCallback() {
@Override
public void onCompleted(List<GraphUser> users, Response response) {
Log.d(TAG, "Request Completed!! " + response.toString() + "----" + users.size());
if (users != null) {
List<String> friendsList = new ArrayList<String>();
for (GraphUser user : users) {
friendsList.add(user.getId());
}
}
}
}).executeAsync();.
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何获得真实用户的朋友列表.使用我的个人资料,它应该返回1个朋友,他也使用正在开发的应用程序注册...
| 归档时间: |
|
| 查看次数: |
3887 次 |
| 最近记录: |