Facebook专辑使用最新的facebook SDK封面照片?

时间:2016-01-07 09:45:01

标签: android facebook facebook-graph-api

我们可以使用garph API {user-id}/albums

获取Facebook相册详细信息
      /*make API call*/
        new GraphRequest(
                AccessToken.getCurrentAccessToken(),  //your fb AccessToken
                "/" + AccessToken.getCurrentAccessToken().getUserId() + "/albums",//user id of login user
                null,
                HttpMethod.GET,
                new GraphRequest.Callback() {
                    public void onCompleted(final GraphResponse response) {
                }
        }).executeAsync();

现在我需要获得这些专辑的封面照片,我知道使用garph API {albums-id}/picture我们可以做到这一点。如下所示

            Bundle params = new Bundle();
            params.putString("type", "small"); //You use this to get a pre-specified size of picture.
            params.putBoolean("redirect", false);
            new GraphRequest(
                    AccessToken.getCurrentAccessToken(),
                    "/" + id + "/picture",
                    params,
                    HttpMethod.GET,
                    new GraphRequest.Callback() {
                        public void onCompleted(GraphResponse response) {

                    }
            }).executeAsync();

但我们需要为它进行不同的API调用。有没有办法让专辑封面照片和专辑详情?

而且我的封面照片质量也不高。

我尝试了here

中的所有类型
type : enum{thumbnail,small,album}

1 个答案:

答案 0 :(得分:2)

您无法获得比album更大的图像。这就是你在FB专辑概述页面上看到的大小。

要通过一次通话获取数据,您必须使用Field API,如下所示:

GET /mashable/albums?fields=id,name,picture.type(album)

Try it yourself

使用Android SDK,代码应为

GraphRequest request = new GraphRequest(
    AccessToken.getCurrentAccessToken(),  //your fb AccessToken
    "/" + AccessToken.getCurrentAccessToken().getUserId() + "/albums",//user id of login user
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(final GraphResponse response) {
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,picture.type(album)");

request.setParameters(parameters);
request.executeAsync();