Facebook 图形 api 端点何时返回包装在 { data: .. } 对象中的数组



一些 Facebook 图形 API 端点返回如下数组:

"likes": {
    "data": [
      {
        "id": "000000", 
        "name": "Somebody"
      }
    ], 
    "paging": {
      "cursors": {
        "after": ".....", 
        "before": "....."
      }
    }
}

而其他人返回如下数组:

"actions": [
    {
      "name": "Comment", 
      "link": "https://www.facebook.com/000000/posts/00000"
    }, 
    {
      "name": "Like", 
      "link": "https://www.facebook.com/00000/posts/00000"
    }
  ] 

有谁知道Facebook文档中的哪个位置解释了何时将一个数组包装在{ data: [...] }对象中返回?据我所知,facebook 只是将所有数组列为array,并没有解释何时返回数据对象。

我想我可以假设,如果某些东西可以被"分页",它将在数据结构中......

我是否在某处缺少一些有关Facebook数据类型的文档?

你是

对的,他们似乎将所有array列为array.

例如,在发布终结点的文档中,"喜欢"和"操作"的返回类型都列为数组。

Likes   
...
Array of objects containing the id and name fields. 
Requesting with summary=1 will also return a summary object 
containing the total_count of likes.
Actions
...
Array of objects containing the name and link

我认为这就是为什么你必须查询实际的终点,并检查JSON(就像你正在做的那样)并找出实际返回的内容。

难怪Facebook API是"最差API"奖的骄傲获得者!

您检索的任何提要(提要/帖子)(即每个数组)都将data对象中恢复,在这个data对象中,数组将在那里。此外,友元列表嵌入在data对象中,该对象将具有对象数组。像这样:

{"data": [
      {
        "id": "..", 
        "name": ".."
      }
    ], 
    "paging": {
      "cursors": {
        "after": ".....", 
        "before": "....."
      }
    }
}

而在所有其他不返回数组的 api 请求中,其结构如下:

   {
        "id": "..", 
        "name": ".."
      }

最新更新