Android:如何使用App FB SDK 2.4吸引所有朋友

时间:2015-09-22 07:27:15

标签: android sdk

我创建了一个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) {

    }
};

1 个答案:

答案 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对象。如果他们不是朋友,它将返回一个空数据集。