【问题标题】:Facebook Graph API calls not retrieving all fieldsFacebook Graph API 调用未检索所有字段
【发布时间】:2016-02-08 13:38:33
【问题描述】:

我正在请求我的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 不再包括 默认情况下喜欢和 cmets,但 GET /v2.4/me/feed?fields=cmets,likes 将返回数据。更多 有关如何请求特定字段的详细信息,请参阅文档。

所以我不得不将我的请求更改为:
Web 控制台:
me/albums?fields=name, cover_photo, count/{album-id}/photos?fields=id, images

Java:

Bundle parameters = new Bundle();
parameters.putString("fields", "id, images");

Bundle parameters = new Bundle();
parameters.putString("fields", "name, cover_photo, count");

【问题讨论】:

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


    【解决方案1】:

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

    在变更日志中搜索“声明性字段”,您必须指定要返回的字段。

    【讨论】:

    • 谢谢,让我做些修改,我会回复你的。
    猜你喜欢
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多