如何使用Facebook Graph Search API在Facebook页面上获取最近的状态更新?

时间:2013-05-07 21:20:20

标签: json facebook-graph-api

Getting Recent Page feeds? Facebook Graph API / FQLGetting Facebook Status updates with JSon类似,我想使用Facebook的Graph API执行GET请求,并将该数据插入到页面中。使用搜索API,我能够检索有关页面的信息,如区域设置,描述和网站,但生成的JSON中不包含状态更新/发布更新。

如何使用Facebook的公共Graph API从给定页面检索最新的状态更新/帖子?

2 个答案:

答案 0 :(得分:3)

事实证明 可以做到这一点,但你需要为页面生成一个访问令牌。为此,您需要拥有相关页面的管理员权限。所以对我来说,我必须要求页面让我成为管理员(指向页面上的“管理管理员角色”下拉菜单。)

接下来,您需要生成一个访问令牌。转到Facebook API Browser,然后单击右侧的“GET Access Token”按钮。选择仅manage_pages角色

最终网址应如下所示:https://graph.facebook.com/{page_id}/statuses?access_token=BAACEdE...

以下是我用来测试网址的javascript函数(您也可以在浏览器中导航):

function populateFacebookUpdates() {
        var pageID = "mycompanypage",
            accessToken = "BAACEdE...";
        var postsURL = "https://graph.facebook.com/" + pageID + "/statuses?access_token=" + accessToken;

        $.ajax({
            url: postsURL,
            method: 'GET',
            dataType: "jsonp",
            success: function (data)
            {
                console.log("Successfully retrieved Facebook data");
                console.dir(data);
            },
            error: function(status) {
                console.log("Facebook data could not be retrieved.  Failed with a status of " + status);
            }
        });
    }

JSON返回的数据是我想要的。另请注意,检索可以在任何浏览器/机器/ IP上运行(但它确实会过期)。出于明显的安全原因,我只是提醒不要将整个URL放在客户端javascript文件中......

答案 1 :(得分:0)

根据documentation,状态是一个连接,而不是一个字段。据我所知,只能通过搜索API检索字段信息。如果您需要状态,则必须从搜索中获取网页ID,然后使用以下调用查询该网页状态。

https://graph.facebook.com/{pageID}/statuses