首页 > 解决方案 > Facebook:从用户 ID 获取公开照片

问题描述

我想通过他的 facebook ID 获取给定用户的公开照片。该用户之前已在我的 Android 应用程序中注册。我正在尝试使用我的访问令牌(在我的应用程序中登录时给出)来执行此操作,但这给了我权限错误。你有什么建议吗?

Bundle parameters = new Bundle();
    parameters.putString("fields","user_photos");
    GraphRequest request = new GraphRequest(
            AccessToken.getCurrentAccessToken(),
            "/" + "USER_ID" + "/photos",
            parameters,
            HttpMethod.GET,
            new GraphRequest.Callback() {
                public void onCompleted(GraphResponse response) {
                    //Response of photos
                }
            }
    );

标签: androidfacebook-graph-api

解决方案


user_photos是权限,而不是字段。您必须授予用户user_photos权限才能获取他的照片。您可能没有这样做,这就是您收到权限错误的原因。不过,最好知道确切的错误消息。

无论如何,这应该是正确的:

Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,link");
GraphRequest request = new GraphRequest(
        AccessToken.getCurrentAccessToken(),
        "/me/photos",
        parameters,
        HttpMethod.GET,
        new GraphRequest.Callback() {
            public void onCompleted(GraphResponse response) {
                //Response of photos
            }
        }
);

使用/me访问令牌代替用户 ID,无论如何,访问令牌都绑定到一个特定用户。

API 参考中解释了您可以使用的字段:https ://developers.facebook.com/docs/graph-api/reference/v3.0/photo


推荐阅读