与Getting Recent Page feeds? Facebook Graph API / FQL和Getting Facebook Status updates with JSon类似,我想使用Facebook的Graph API执行GET请求,并将该数据插入到页面中。使用搜索API,我能够检索有关页面的信息,如区域设置,描述和网站,但生成的JSON中不包含状态更新/发布更新。
如何使用Facebook的公共Graph API从给定页面检索最新的状态更新/帖子?
答案 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