Facebook graph api Laravel 5.5社交名流不工作
我最近尝试将laravel Socialist与laravel 5.5整合,但我遇到了一个错误: GuzzleHttp\Exception\ClientException(400)客户端错误:Facebook graph api Laravel 5.5社交名流不工作,facebook-graph-api,laravel-5,facebook-php-sdk,laravel-socialite,laravel-5.5,Facebook Graph Api,Laravel 5,Facebook Php Sdk,Laravel Socialite,Laravel 5.5,我最近尝试将laravel Socialist与laravel 5.5整合,但我遇到了一个错误: GuzzleHttp\Exception\ClientException(400)客户端错误:GET https://graph.facebook.com/v2.10/me? access\u token=$my\u token&appsecret\u proof=my\u proof secret导致 400错误请求响应:{“错误”:{“消息”:“验证错误” 访问令牌:会话已于星期二,03-10-
GET
https://graph.facebook.com/v2.10/me?
access\u token=$my\u token&appsecret\u proof=my\u proof secret
导致
400错误请求
响应:{“错误”:{“消息”:“验证错误”
访问令牌:会话已于星期二,03-10-17 05:00:00过期
PDT.当前值(截断的…)
现在我已经对它进行了一定程度的调试,基本上这是在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块进行注释,它似乎工作正常,我无法找出问题所在。$meUrl.='&appsecret\u-proof='.$appSecretProof
请删除此行并签名(&p)从graph API获取应用程序时,我实际上没有为我的应用程序选择访问令牌。我选择了默认的graph API令牌。Facebook实际上允许您生成特定于应用程序的访问令牌,因此您必须特别选择。下面是它的屏幕截图
如果删除该行,您可以登录吗?您的令牌是否有效?因为这是传递错误令牌或凭据时出现的错误。事实上,我使用的是不同的应用程序密码。哎呀,它现在工作正常吗?是的,它现在工作正常。.我的错误帖子您的答案我将向上投票:)