【问题标题】:Facebook PHP SDK 3 issue in access_tokenaccess_token 中的 Facebook PHP SDK 3 问题
【发布时间】: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


【解决方案1】:

查看此链接,向下滚动到以下粗体字的答案:“使用 Facebook 应用程序的令牌时”,希望对您有所帮助。

Facebook access_token invalid?

【讨论】:

  • 为什么他使用的那个令牌应该是一个app访问令牌?
  • 这绝对是一个应用访问令牌 - 当没有用户会话时,这些令牌由 SDK 从 getAccessToken() 返回
  • @lgy... 那么除了应用程序 access_token 之外,我如何获得 access_token
【解决方案2】:

将图形调用的 api ('/me') 更改为 ('/[number or name id]')

【讨论】:

    猜你喜欢
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 2014-07-31
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多