根据给出的here指令,搜索公共信息(如https://graph.facebook.com/search?q=QUERY&type=OBJECT_TYPE)需要有一个有效的访问令牌。据我所知,访问令牌是指用户授权应用访问其信息的时间;但这是灼热的公共信息。如何获取应用访问令牌以搜索公共信息?
在该页面中,Facebook会自动将我的访问令牌添加到链接
https://graph.facebook.com/search?q=watermelon&type=post&access_token=MY_ACCESS_TOKEN
创建了一个访问令牌
当我在网址https://graph.facebook.com/search?q=watermelon&type=post&access_token=GENERATED_ACCESS_TOKEN中使用生成的访问令牌时,会出现错误
{
"error": {
"message": "A user access token is required to request this resource.",
"type": "OAuthException"
}
}
答案 0 :(得分:6)
图谱API搜索界面在Q3 2013迁移中有待更改。 以下更改将于2013年7月10日生效:
图表API搜索更改 除了地方和页面之外的所有搜索Graph API调用都需要应用访问令牌。将不再支持搜索应用程序。
https://developers.facebook.com/blog/post/2013/04/03/platform-updates--operation-developer-love/
答案 1 :(得分:3)
使用
搜索facebook图表API您需要有效的用户访问令牌。用户访问令牌与App Access令牌不同。当用户使用不同的访问权限验证您的应用时,会创建用户访问令牌,该权限通常接近212个字母。
2013年7月在图表API中进行了更改,您需要拥有有效的用户访问令牌来搜索用户和帖子。您自己可以生成用户访问令牌,对您的应用进行身份验证并为您的应用生成用户访问令牌。
但问题仍然存在,我们应该如何为我们的应用生成用户应用令牌,而无需让其他用户对我们的应用进行身份验证?
答案 2 :(得分:1)
您请求的访问令牌看起来像“应用程序”访问令牌。此令牌与“用户”或“页面”访问令牌不同,用于不同的事物。
https://developers.facebook.com/docs/howtos/login/login-as-app/
这可用于修改App的参数,创建和 管理测试用户,或者阅读您的应用程序的见解。 应用程序访问令牌也可用于将内容发布到Facebook上 代表已授予您发布许可的人 应用
根据您尝试实际执行的操作,应用程序令牌可能是错误的OAuth形式。您的示例(使用术语“西瓜”搜索公开帖子)不需要OAuth令牌,因此您显然尝试使用其他类型的图表搜索。不说你实际上想要访问的是什么,实际上无法正确地告诉你。
但是,我猜你正在尝试访问需要特定用户权限的图形对象。如果是这种情况,那么您需要首先通过请求所需的权限范围来获得该用户的权限。
这将为您提供该用户的短期访问令牌,该令牌将允许您进入您已请求权限的权限范围内的任何内容。
此令牌仅在用户登录您的应用后短时间内持续。它也可以升级为长期访问令牌
https://developers.facebook.com/docs/howtos/login/extending-tokens/
答案 3 :(得分:-2)
您不需要传递任何令牌来搜索公共信息(除非您想在用户的上下文中搜索)。只需拨打以下网址即可查看该网址。请标记我使用了 http 而不是https。
http://graph.facebook.com/search?q=watermelon&type=post
但是为了让我的回答更清楚 - 通过正确授予access_token,我可以调用上述url的https版本(https版本需要访问令牌),它可以正常工作而没有任何问题。
答案 4 :(得分:-2)
如果您是以编程方式搜索并且最终用户永远不会看到搜索网址,则可以使用此代码:
&access_token=app_id|app_secret
有关此内容的更多信息:https://developers.facebook.com/docs/facebook-login/access-tokens/