4

我的 Facebook 应用昨天运行良好,但今天它无法获取 access_token。

我的代码是:

$token_url="https://graph.facebook.com/oauth/access_token?"."client_id=".$app_id."&redirect_uri=".urlencode($my_url)."&client_secret=".$app_secret."&code=".$code;
$response=file_get_contents($token_url);
print_r($response);
$params = null;
parse_str($response, $params);
echo  $params['access_token'];

错误是:

{
   "error": {
      "message": "The request is invalid because the app secret is the same as the client token",
      "type": "OAuthException",
      "code": 1
   }
}

如何解决这个问题?

我也使用了 curl,但响应是:

object(stdClass)#121 (1) {
    ["error"]=> object(stdClass)#11 (3) {
        ["message"]=> string(77) "The request is invalid because the app secret is the same as the client token"
        ["type"]=> string(14) "OAuthException"
        ["code"]=> int(1)
    }
} 
4

4 回答 4

7

确保客户端令牌不同于应用程序机密(高级 > 安全性),并确保您的应用程序是 Web 应用程序而不是本机应用程序。

于 2013-04-05T07:57:17.867 回答
1

当您收到此错误时,您需要:

1)将本机/桌面应用程序设置为“否”

Facebook 对话框的屏幕截图

2) 重置之前的客户端令牌。 Facebook 客户端令牌重置

3)将新生成的令牌放入您的应用程序

您可以在 Facebook 应用设置的高级页面上找到这两个: https ://developers.facebook.com/apps/[your_app_id]/settings/advanced/

于 2016-10-20T07:36:44.333 回答
0

我重置 app_secret 然后正常工作,并将 Advanced->security 更改为 WEB

于 2013-04-05T12:56:14.723 回答
0

我有同样的问题,几天来,我搜索并寻找解决方案。但是当我将“本机或桌面应用程序”设置为“否”时,一切正常 - 在“应用程序->设置->高级”中

于 2017-11-19T10:42:35.913 回答