【发布时间】:2013-04-04 02:21:36
【问题描述】:
我正在使用 facebook PHP SDK。用户允许我的应用程序后,facebook 会重定向到可能的网页。 以下是网址
http://Mydowmain.com/facebook.htm?state=d96afbb9ea550fg81c287b7822cee0af1&code=AQDtl7Rd7qgCp6S_dXwOCxxfXo1dEh75ZJqrCINMawCUzxOYs9JnpmWKMoYTgjuNhQx2nk8pleCdvGqSt39F2pHKMHt3aNxwqoIah2oshPKKC0MnWycPSU0yLAKMYVQV2g3jRQdEMf2dWTVUrk_ammSpGaYbfFQ3GeccZ1vGqfVazsaQ_1Lxz7GjITlqgCxrOlc#_=_
我需要获取 access_token 以下是代码
if($_GET['code'] != '')
{
$access_token = $facebook->getAccessToken();
当我尝试使用这个 $access_token 来获取用户详细信息时。
$user_profile = 'https://graph.facebook.com/me/?access_token='.$access_token;
它给出了以下错误
{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}}
}
我不知道我做错了什么,它可以与 SDK 2 一起使用,但不能与 SDK3 一起使用
$access_token = $facebook->getAccessToken();
此调用返回以下内容,其中“|”之前的第一个部分是 App ID 和“|”之后是 App Secret..
187997367916887|9d87d7a2d26485fd926a000b0c3b2f87
【问题讨论】:
-
您实际上从 getAccessToken 调用中获得了什么访问令牌?打印出来调试,用developers.facebook.com/tools/debug检查一下
-
$access_token = $facebook->getAccessToken();此调用返回以下内容,其中“|”之前的第一个部分是 App ID 和“|”之后是应用程序机密.. 187997367916887|9d87d7a2d26485fd926a000b0c3b2f87
-
首先,立即为您的应用生成一个新的应用密码——因为您刚刚在互联网上发布了您的密码 (/me 的 API 调用当然会失败,因为在使用 app 访问令牌时,API 无法知道“我”应该是谁。如果 FB SDK 在登录后没有给你一个用户访问令牌,那么就出了问题。
标签: php facebook facebook-php-sdk