我无法通过图谱API从Facebook页面检索帖子。
这是我正在使用的代码:
FB.api(
'/'+account+'/feed',
{
access_token : options.facebook.access_token,
limit: options.facebook.limit
},
function(response) {
doThingsWithResponse(response);
}
);
这是我收到的错误:
{
"error": {
"message": "An unknown error has occurred.",
"type": "OAuthException",
"code": 1
}
}
似乎有一个与此相关的错误: https://developers.facebook.com/bugs/328424960681438/
答案 0 :(得分:0)
我找到了一个可以在此期间起作用的解决方案:
FB.api(
'/'+account+'/feed',
{
access_token : options.facebook.access_token,
limit: options.facebook.adjustedLimit
},
function(response) {
if (response.error.code == 1){
FB.api(
'/'+account+'/promotable_posts',
{
access_token : options.facebook.access_token,
limit: options.facebook.adjustedLimit
},
function(response) {
Feed.facebook.utility.getPosts(response);
});
}
else {
Feed.facebook.utility.getPosts(response);
}
}
);
在API调用的回调中,我检查是否有错误,如果是,我将调用更改为/promotable_posts
,因为那个似乎仍然正常工作。
与此相关的一个问题是,在promotable_posts
内,我会收到“照片上的名称评论”这样的帖子。
所以在doThingsWithResponse()
内部我会过滤掉这些评论:
// reset adjustedLimit to base limit
options.facebook.adjustedLimit = options.facebook.limit;
response['data'].forEach(function(element) {
if (!element.story || element.story.indexOf("commented on") == -1){
// the post is worthwhile, so do things with it
doThingsWithPost(element);
}
else if (options.facebook.limit) {
// increase the limit for each post that gets removed
options.facebook.adjustedLimit++;
}
});