我们可以使用garph API {user-id}/albums
/*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}
答案 0 :(得分:2)
您无法获得比album
更大的图像。这就是你在FB专辑概述页面上看到的大小。
要通过一次通话获取数据,您必须使用Field API,如下所示:
GET /mashable/albums?fields=id,name,picture.type(album)
使用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();