页面/ Feed的未知错误 - Facebook图形api

时间:2015-02-20 18:21:37

标签: facebook facebook-graph-api

我无法通过图谱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/

1 个答案:

答案 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++;
    }

});