一些 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": ".."
}