我有一个Facebook应用程序在我调用$facebook->api('/me')
时工作正常,它会返回所有用户信息,但在我调用$facebook->api('/100006737731259')
时失败。我得到的错误是:
array("error" => array("message" => "Unsupported get request.", "type" => "GraphMethodException", "code" => 100))
奇怪的是,如果我打开浏览器并转到http://graph.facebook.com/100006737731259
,它会毫无问题地返回所有信息(这是我的应用程序的一个测试用户)。
你曾经遇到类似的问题吗?我不知道我能做错什么。
非常感谢
答案 0 :(得分:0)
这是仅在测试用户中出现的问题。我不知道为什么,但确实如此。如果您使用真实用户,则不会发生这种情况。
答案 1 :(得分:0)
为测试用户调用此API时,可以放置空访问令牌或者根本不要放入access_token参数,然后就可以解决了。
如果你真的想放入access_token,你必须遵守规则:
禁止access_token:
普通用户的访问令牌
其他应用的测试用户访问令牌
其他应用访问令牌
允许访问权限:
从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)
当前应用访问令牌
*可以从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)
如果您在网络浏览器上使用其他用户访问令牌https://graph.facebook.com/100006737731259?access_token=PROHIBITED_ACCESS_TOKEN请求证明,您最终会收到错误。
但如果您使用网络浏览器执行https://graph.facebook.com/100006737731259?access_token=Allowed_ACCESS_TOKEN或https://graph.facebook.com/100006737731259?access_token=(将access_token值保留为空),则可以获取数据。