我试图从个人资料脸谱中获取墙贴。我对粉丝页面没有任何问题,我的用户令牌有效(至少对于粉丝页面而言)。
此帖子的示例:https://www.facebook.com/aurelia.filion/posts/10151342315613445 你可以看到帖子是公开的。
所以我尝试: graph.facebook.com/529628444_10151342315613445?access_token=MY_TOKEN graph.facebook.com/10151342315613445?access_token=MY_TOKEN
它返回: “错误”:{ “message”:“不支持的获取请求。”, “type”:“GraphMethodException”, “代码”:100
在我的Api图浏览器中,我无法看到该用户的帖子。 graph.facebook.com/529628444?fields=posts(529628444是aurelia.filion的id)
那么有可能获得墙贴吗?它是公开的应该是一种获取它们的方式
感谢
好的,我将以不同的方式解释,我的目标是通过图表获得此类帖子(除了论文,我可以获得所有其他帖子)
facebook.com/aurelia.filion/posts/10151342315613445
facebook.com/aurelia.filion/posts/10151336175793445
但我收到错误“不支持获取请求。”
我已尝试用户令牌和应用令牌此链接无法正常工作: graph.facebook.com/529628444_10151342315613445?access_token=MY_TOKEN
当我尝试使用Feed时,我没有看到我想要的帖子。
如果我要求发布帖子graph.facebook.com/529628444/posts?limit=100&access_token=TOKEN 我可以看到一切(链接,照片等),除了怪异的帖子!!
我如何获得这些帖子,这是一个令牌问题,它看起来像是一个状态,是不是得到了,我的意思是我们需要权限吗? graph.facebook.com/529628444?fields=statuses&access_token=TOKEN它不会返回任何结果!它空了!
修改
答案 0 :(得分:11)
这个答案在Graph API版本的第一个版本中被回写。当时您可以使用用户ID获取用户提要,此时用户ID不再在应用之间共享。 facebook也创建了一个new API,只有部分合作伙伴可以使用它。
现在,除非用户使用了您的应用,否则您无法获得公共用户Feed。你仍然可以获得Pages feed。
这个答案适用于图api v1
所以你必须使用这个https://graph.facebook.com/529628444?fields=feed&access_token=YOUR_TOKEN
如果你想要的只是查询公共数据,你可以通过这样做来创建一个APP令牌:
https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&
grant_type=client_credentials
并使用此令牌而不是使用您的用户令牌。
答案 1 :(得分:5)
我不知道这篇文章是否太旧了,但我在寻找解决问题的方法时才找到它。
无论如何,我只会说明我是如何设法从公共用户那里获取资讯的:
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开发者控制台(https://developers.facebook.com)并注册一个新的网络应用程序。只需在顶部导航中继续“我的应用程序”,然后继续“添加新应用程序”。完成后,您可以访问您的应用程序ID和您的APP秘密。
第一个链接“var fbul”是获取访问Feed所需的access_token。
var fbul = "https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=[AppID]&client_secret=[AppSecret]";
只需将[AppID]和[AppSecret]更改为您自己的密钥即可。
第二个链接是访问feed(我们不在这里添加acces_token,因为我们在ajax请求中这样做)
var fburl = "https://graph.facebook.com/201317759900688?fields=feed&";
此处的号码(2013177599 ....)是来自公共站点的频道ID。要获得该号码,请转到http://findmyfacebookid.com/并输入公共用户的脸书网址。
这几乎是你需要的一切。
现在编写你的ajax请求如下:
$.get(fbul, function(auth_token){
$.ajax({
dataType: "jsonp",
url: fburl+auth_token,
success: function(res){
console.log(res);
}
});
});
您现在可以在控制台中看到结果。
使用成功功能以您希望的方式处理结果。