如何使用facebook API获取公共墙帖子
我正试图从facebook上的个人资料中获取帖子。我对风扇页面没有问题,并且我的用户令牌是有效的(至少对于风扇页面是有效的) 这篇文章的例子: 正如你所看到的,这篇文章是公开的 所以我试着: graph.facebook.com/529628444_101513423215613445?访问令牌=我的令牌 graph.facebook.com/10151342315613445?访问令牌=我的令牌 它返回: “错误”:{ “消息”:“不支持的获取请求”, “类型”:“GraphMethodException”, “代码”:100 在我的Api图形浏览器中,我也看不到此用户的帖子。 graph.facebook.com/529628444?fields=posts(529628444是aurelia.filion的id) 那么,有可能得到墙上的柱子吗?这是公开的,这应该是得到它们的一种方式 谢谢如何使用facebook API获取公共墙帖子,facebook,api,facebook-graph-api,token,facebook-wall,Facebook,Api,Facebook Graph Api,Token,Facebook Wall,我正试图从facebook上的个人资料中获取帖子。我对风扇页面没有问题,并且我的用户令牌是有效的(至少对于风扇页面是有效的) 这篇文章的例子: 正如你所看到的,这篇文章是公开的 所以我试着: graph.facebook.com/529628444_101513423215613445?访问令牌=我的令牌 graph.facebook.com/10151342315613445?访问令牌=我的令牌 它返回: “错误”:{ “消息”:“不支持的获取请求”, “类型”:“GraphMethodExc
好的,我将用另一种方式解释,我的目标是通过图表获得此类帖子(我可以获得除论文以外的所有其他帖子) facebook.com/aurelia.filion/posts/10151342315613445 facebook.com/aurelia.filion/posts/10151336175793445 但是我得到了错误“不支持的获取请求” 我尝试了用户令牌和应用令牌。此链接无效: graph.facebook.com/529628444_101513423215613445?访问令牌=我的令牌 当我尝试使用feed时,我看不到我想要的帖子 如果我请求posts graph.facebook.com/529628444/posts?limit=100&access\u token=token 我可以看到一切(链接,照片等),除了那些奇怪的帖子 我怎样才能得到这些帖子,这是一个令牌问题,它看起来像是一个状态,它是不同的获得,我的意思是我们需要权限吗? graph.facebook.com/529628444?fields=status&access\u token=token它不返回任何结果!它是空的 编辑编辑 这个答案是在Graph API版本的第一个版本中写回的。那时,你可以通过使用用户ID获取用户提要,现在用户ID不再在应用程序之间共享。facebook还创建了一个仅对其部分合作伙伴可用的用户提要 所以现在你不可能获得公共用户源,除非用户已经使用了你的应用程序。但是你仍然可以获得页面源 旧版本 这个答案适用于graph api v1 因此,您必须使用此
https://graph.facebook.com/529628444?fields=feed&access_token=YOUR_TOKEN
如果您只想查询公共数据,则可以通过以下操作创建应用令牌:
https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&
grant_type=client_credentials
并使用此令牌,而不是使用您的用户令牌。我不知道此帖子是否太旧,但我只是在搜索问题解决方案时找到的 无论如何,我只想展示我是如何从公共用户那里获取提要的:
var fbul = "https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=[AppID]&client_secret=[AppSecret]";
var fburl = "https://graph.facebook.com/201317759900688?fields=feed&";
$.get(fbul, function(auth_token){
$.ajax({
dataType: "jsonp",
url: fburl+auth_token,
success: function(res){
console.log(res);
}
});
});
这里有一点解释:
你必须转到facebook开发控制台()并注册一个新的web应用程序。只需在顶部导航中选择“我的应用程序”并选择“添加新应用程序”。完成后,你就可以访问你的应用程序ID和应用程序机密
第一个链接“var fbul”是获取访问提要所需的访问令牌
var fbul = "https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=[AppID]&client_secret=[AppSecret]";
只需将[AppID]和[AppSecret]更改为您自己的密钥
第二个链接是访问提要(我们不在这里添加acces\u令牌,因为我们在ajax请求中这样做了)
此处的数字(2013177599…)是来自公共网站的频道ID。要获得该数字,只需继续并向公共用户输入facebook URL
这就是你所需要的一切
现在编写ajax请求,如下所示:
$.get(fbul, function(auth_token){
$.ajax({
dataType: "jsonp",
url: fburl+auth_token,
success: function(res){
console.log(res);
}
});
});
现在,您将在控制台中看到结果
使用success函数以您想要的方式处理结果。不确定此页面为什么会显示“不支持的获取请求错误”当您没有有效的令牌时。我已使用有效的用户和应用程序访问令牌尝试了此操作,并且能够获取数据。如果我在没有令牌或使用过期令牌的情况下尝试,我会得到不受支持的get请求错误,而不是正确的错误。请查看我的。没有比此更简单的了。您能更详细地解释如何获取数据吗rom以墙贴为例的公共墙贴。我不知道如何实现您所描述的内容。谢谢!新的Facebook API定义不再适用。效果很好,除了查找ID的工具之外,这一个对我很有用-
$.get(fbul, function(auth_token){
$.ajax({
dataType: "jsonp",
url: fburl+auth_token,
success: function(res){
console.log(res);
}
});
});