facebook-graph-api - Laravel 5.5 社交名媛不工作

标签 facebook-graph-api laravel-5 facebook-php-sdk laravel-socialite laravel-5.5

我最近尝试将 laravel socialite 与 laravel 5.5 集成,但出现错误:

GuzzleHttp \ Exception \ ClientException (400) Client error: GET https://graph.facebook.com/v2.10/me? access_token=$my_token&appsecret_proof=my_proofsecret resulted in a 400 Bad Request response: {"error":{"message":"Error validating access token: Session has expired on Tuesday, 03-Oct-17 05:00:00 PDT. The current (truncated...)

现在我已经对它进行了一定程度的调试,基本上这是在 FacebookProvider.php 行号 89 中创建错误的行:

protected function getUserByToken($token)
{
    $meUrl = $this->graphUrl.'/'.$this->version.'/me?access_token='.$token.'&fields='.implode(',', $this->fields);

    if (! empty($this->clientSecret)) {
        $appSecretProof = hash_hmac('sha256', $token, $this->clientSecret);
        $meUrl .= '&appsecret_proof='.$appSecretProof;
    }

    $response = $this->getHttpClient()->get($meUrl, [
        'headers' => [
            'Accept' => 'application/json',
        ],
    ]);

    return json_decode($response->getBody(), true);
}

这是一行:

  $appSecretProof = hash_hmac('sha256', $token, $this->clientSecret);

如果我将整个 if else block 注释掉,它似乎工作正常,无法找出问题所在。

最佳答案

在从图形 API 获取它时,我实际上并没有为我的应用程序选择 access_token。我选择了默认的图形 API token 。 Facebook 实际上允许您生成特定于您的应用程序的访问 token ,因此您必须专门选择它。这是它的屏幕截图。

enter image description here

关于facebook-graph-api - Laravel 5.5 社交名媛不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46545662/

相关文章:

javascript - 获取 Facebook 动态

facebook - 如果用户与 "Friends"或 "Only me"共享链接,我可以从回调函数中知道吗?

javascript - Facebook graph api JSONP格式,第一行的/* */是什么意思?

python - 如何以编程方式在 Facebook 上发布到我自己的墙上?

php - 如何在 Laravel 5.2 中获取 Controller 功能的模型?

php - 我们应该删除 Facebook 应用程序生成的请求吗?

facebook - 使用具有永久页面访问 token 的 Instagram Graph Api 仅适用于某些帐户

laravel - Behat 在 Laravel 5 中读取默认 .env 文件而不是 .env.behat

php - 由验证引起的 Laravel 路由中的重定向循环?

php - 无法加载 URL : The domain of this URL isn't included in the app's domains. 要能够加载此 URL... Codeigniter