Facebook Graph API调用不检索所有字段

时间:2016-02-08 13:38:34

标签: android facebook-graph-api facebook-android-sdk

我请求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");

1 个答案:

答案 0 :(得分:3)

https://developers.facebook.com/docs/apps/changelog#v2_4

搜索"声明字段"在更改日志中,您必须指定要返回的字段。