Php 通过facebook graph进行搜索的用户访问令牌

Php 通过facebook graph进行搜索的用户访问令牌,php,facebook-graph-api,facebook,facebook-c#-sdk,Php,Facebook Graph Api,Facebook,Facebook C# Sdk,根据给出的指令,搜索公共信息(as)需要具有有效的访问令牌。据我所知,访问令牌是指用户授权应用程序访问其信息;但这是公众信息的烙印。如何获取应用程序访问令牌以搜索公共信息 在该页面中,facebook会自动将我的访问令牌添加到链接中 https://graph.facebook.com/search?q=watermelon&type=post&access_token=MY_ACCESS_TOKEN 我通过我的应用创建了一个访问令牌 当我在url中使用生成的访问令牌时,它给出

根据给出的指令,搜索公共信息(as)需要具有有效的访问令牌。据我所知,访问令牌是指用户授权应用程序访问其信息;但这是公众信息的烙印。如何获取应用程序访问令牌以搜索公共信息

在该页面中,facebook会自动将我的访问令牌添加到链接中

https://graph.facebook.com/search?q=watermelon&type=post&access_token=MY_ACCESS_TOKEN
我通过我的应用创建了一个访问令牌

当我在url中使用生成的访问令牌时,它给出了一个错误

{
   "error": {
      "message": "A user access token is required to request this resource.",
      "type": "OAuthException"
   }
}
  • 如何通过我的应用生成访问令牌
  • 或者我需要通过自己的用户帐户生成访问令牌吗?如果是,如何进行
  • 由于它正在搜索公共档案,facebook不应该在每次搜索时都需要授权,我可以生成一个永久访问令牌来执行不同的搜索吗

  • 在公共信息中搜索不需要传递任何令牌(除非您希望在用户上下文中搜索)。只需调用以下url并查看url。请注意,我使用了http而不是https


    但是为了让我的答案更清楚-使用正确授予的访问令牌,我可以调用上述url的https版本(https版本需要访问令牌),它可以正常工作,没有任何问题

    您请求的访问令牌看起来像“应用程序”访问令牌。此令牌不同于“用户”或“页面”访问令牌,用于不同的事情

    这可用于修改应用程序的参数,创建和 例如,管理测试用户或阅读应用程序的见解。 应用程序访问令牌也可用于在Facebook上发布内容 代表已授予您的发布权限的人员 应用程序

    根据您试图实际执行的操作,应用程序令牌可能是错误的OAuth形式。您的示例(使用术语西瓜搜索公共帖子)不需要OAuth标记,因此您显然在尝试不同类型的图形搜索。如果不说出您实际想要访问的内容,就不可能给出正确的建议

    但是,我猜您正在尝试访问需要特定用户权限的图形对象。如果是这种情况,那么您需要首先通过请求所需的权限范围从该用户获得权限

    • 获取用户OAuth访问令牌()的过程
    • 可以请求的可能权限(范围)()
    这将为该用户提供一个短期访问令牌,该令牌将允许您访问权限范围内您请求权限的任何内容

    此令牌仅在用户登录到您的应用程序后的短时间内有效。它还可以升级为长期访问令牌


    Graph API搜索界面在2013年第3季度的迁移过程中发生了变化。 以下变更将于2013年7月10日生效:

    Graph API搜索更改 除位置和页面外,所有搜索图API调用都需要应用访问令牌。将不再支持搜索应用程序


    如果您以编程方式进行搜索,且最终用户永远看不到搜索URL,则可以使用此URL:

    &access_token=app_id|app_secret
    

    这里有更多信息:

    用于使用

    您需要有效的用户访问令牌。用户访问令牌与应用访问令牌不同。当用户使用不同的访问权限(通常接近212个字母长)对您的应用进行身份验证时,将创建一个用户访问令牌

    graph API在2013年7月进行了更改,您需要拥有有效的用户访问令牌才能搜索用户和帖子。用户访问令牌可以由您自己验证应用程序并为应用程序生成用户访问令牌来生成


    但问题仍然存在,我们应该如何在不让其他用户验证我们的应用的情况下为我们的应用生成用户应用令牌?

    但是您不能搜索用户的公共信息,因为它不适用于搜索
    type=user
    。问题是如何以编程方式生成
    access\u令牌
    ,我对答案也很感兴趣。你解决了这个问题吗?@Mapedd没有,系统似乎不容易简单使用。事实上,facebook现在需要access令牌来搜索公共postsIt,从2013年第3季度开始迁移。当我在三月份写响应时,它没有起作用。它不适用于我,我得到“错误”:{“消息”:“(#200)必须有一个有效的访问令牌才能访问这个端点”,“类型”:“OAuthException”,“code”:200}