我创建了一个app facebook并在app(android)上使用创建按钮登录。 我想当一个人打开应用程序并登录然后我可以得到他们的所有朋友。但我尝试但不要(返回Null)。请给我一个建议。 谢谢大家! 这是我的代码:
private FacebookCallback<LoginResult> mCallback = new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
AccessToken accessToken = loginResult.getAccessToken();
LoginManager.getInstance().logInWithReadPermissions(getActivity(), Arrays.asList("user_friend","user_location", "user_birthday", "user_likes","user_photo"));
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/taggable_friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
Toast.makeText(getActivity(), response.getJSONObject() + "", Toast.LENGTH_LONG).show();
}
}
).executeAsync();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException e) {
}
};
答案 0 :(得分:1)
你应该读这个,
https://developers.facebook.com/docs/graph-api/reference/v2.4/user/friends
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
<强>权限强>
需要具有user_friends权限的用户访问令牌才能查看当前此人的朋友。 这将仅返回使用(通过Facebook登录)提出请求的应用程序的任何朋友。 如果该人的朋友拒绝了user_friends权限,该朋友将不会出现在此人的朋友列表中。
<强>调节剂强>
您可以将其他人的ID附加到边缘,以确定该人是否与根节点用户成为朋友:
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{user-id-a}/friends/{user-id-b}",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
如果user-a在上述请求中是user-b的朋友,则响应将包含user-b的User对象。如果他们不是朋友,它将返回一个空数据集。