我请求me/albums
:
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/albums",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
parseAlbumResponse(response);
}
}).executeAsync();
问题是响应对象只包含3个字段:
{
"data": [
{
"created_time": "...",
"name": "...",
"id": "..."
},
...
而不是记录here的所有字段。相同用于/{album-id}/photos
:
{
"data": [
{
"created_time": "...",
"id": "..."
},
...
而不是this。 这是我上次检查时的工作,但突然间发生了这种奇怪的行为。 我已经使用Facebook Graph API进行了测试,结果相同,所以我认为这不是我应用中的问题。
我正在使用'com.facebook.android:facebook-android-sdk:4.7.0'
。
Facebook是否改变了请求参数中的内容?
修改 用户 luschn 建议:
陈述性字段
尝试提高移动网络,节点和边缘的性能 v2.4要求您明确请求所需的字段 你的GET请求。例如,GET /v2.4/me/feed不再包含 喜欢和评论默认,但GET /v2.4/me/feed?fields=comments,likes将返回数据。更多 详细信息请参阅有关如何请求特定字段的文档。
所以我不得不将我的要求改为:
Web控制台:
me/albums?fields=name, cover_photo, count
和/{album-id}/photos?fields=id, images
爪哇:
Bundle parameters = new Bundle();
parameters.putString("fields", "id, images");
Bundle parameters = new Bundle();
parameters.putString("fields", "name, cover_photo, count");
答案 0 :(得分:3)
https://developers.facebook.com/docs/apps/changelog#v2_4
搜索"声明字段"在更改日志中,您必须指定要返回的字段。