Facebook API失败,Graph工作正常。为什么?

时间:2013-12-23 12:53:42

标签: facebook facebook-graph-api facebook-php-sdk

我有一个Facebook应用程序在我调用$facebook->api('/me')时工作正常,它会返回所有用户信息,但在我调用$facebook->api('/100006737731259')时失败。我得到的错误是:

array("error" => array("message" => "Unsupported get request.", "type" => "GraphMethodException", "code" => 100))

奇怪的是,如果我打开浏览器并转到http://graph.facebook.com/100006737731259,它会毫无问题地返回所有信息(这是我的应用程序的一个测试用户)。

你曾经遇到类似的问题吗?我不知道我能做错什么。

非常感谢

2 个答案:

答案 0 :(得分:0)

这是仅在测试用户中出现的问题。我不知道为什么,但确实如此。如果您使用真实用户,则不会发生这种情况。

答案 1 :(得分:0)

为测试用户调用此API时,可以放置空访问令牌或者根本不要放入access_token参数,然后就可以解决了。

如果你真的想放入access_token,你必须遵守规则:

禁止access_token:

  1. 普通用户的访问令牌

  2. 其他应用的测试用户访问令牌

  3. 其他应用访问令牌

  4. 允许访问权限:

    1. https://graph.facebook.com/APP_ID/accounts/test-users?installed=true&name=TEST_USER_NAME&locale=en_US&permissions=read_stream&method=post&access_token=APP_ACCESS_TOKEN检索用户的访问令牌(测试用户是当前应用的其他测试用户或此测试用户100006737731259,两者都是允许的!)(替换相关内容) APP_ID,TEST_USER_NAME和APP_ACCESS_TOKEN)

    2. 当前应用访问令牌

      *可以从https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=client_credentials检索APP_ACCESS_TOKEN(替换相关的APP_SECRET)

      ** App Secret可以从https://developers.facebook.com/x/apps/APP_ID/settings/获取(替换相关的APP_ID)

    3. 如果您在网络浏览器上使用其他用户访问令牌https://graph.facebook.com/100006737731259?access_token=PROHIBITED_ACCESS_TOKEN请求证明,您最终会收到错误。

      但如果您使用网络浏览器执行https://graph.facebook.com/100006737731259?access_token=Allowed_ACCESS_TOKENhttps://graph.facebook.com/100006737731259?access_token=(将access_token值保留为空),则可以获取数据。