Facebook API - 不返回照片的所有字段
Posted
技术标签:
【中文标题】Facebook API - 不返回照片的所有字段【英文标题】:Facebook API - doesn't return all fields for photos 【发布时间】:2015-07-16 14:14:01 【问题描述】:我正在使用 Facebook API 浏览相册,选择相册,然后将照片输出到我的页面。
我使用 Facebook 成功登录。接受应用权限。它将所有专辑输出到一个页面以供选择。我选择一个相册并将相册 ID 传递到另一个输出照片的页面。但是响应中没有所有照片字段,只有id
和created_time
。
例如:
//load fb api
(function(d)
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) return;
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
(document));
//Initialise
window.fbAsyncInit = function()
FB.init(
appId : 'XXXXXXXX',
status : true,
xfbml : true,
cookie : true,
version : 'v2.4'
);
//Get albums - This works fine.
FB.api( "/me/albums", function (response)
if (response && !response.error)
data = response.data;
//Output albums...
);
我选择一个相册并将其传递到我输出照片的页面,如下所示:
FB.api(
"/ALBUM_ID/photos",
function (response)
if (response && !response.error)
console.log(response);
);
这就是它崩溃的地方。日志中的输出如下所示:
Object data: Array[1], paging: Object
data: Array[1]
0: Object
created_time: "2014-05-07T10:39:31+0000"
id: "xxxxxxxxxxxxxxx"
就是这样。没有其他字段。日志中没有错误。我不明白为什么我只得到一些数据。
【问题讨论】:
有人可以解释一下,为什么这个问题被否决了?我刚遇到同样的问题,这对我真的很有帮助。这里出了什么问题? 【参考方案1】:Graph API v2.4 减少了默认响应中的字段数量。
https://developers.facebook.com/blog/post/2015/07/08/graph-api-v2.4/
减少默认字段以提高性能:为了帮助提高移动网络连接的性能,我们减少了 API 默认返回的字段数量。您现在应该使用
?fields=field1,field2
语法来声明您希望 API 返回的所有字段。
简而言之,明确说明您需要哪些字段作为请求的一部分。
【讨论】:
成功了。我不知道这些变化。感谢您指出。以上是关于Facebook API - 不返回照片的所有字段的主要内容,如果未能解决你的问题,请参考以下文章
Facebook Graph API和FQL就像照片一样都不正确吗?
html 简单的“获取我所有的Facebook照片”facebook JS SDK + Graph API示例
Graph API v2.0 中所有照片的 Facebook 范围
Facebook JS SDK 的 FB.api('/me') 方法不返回我在 Graph API v2.4+ 中期望的字段