我有一个从 Facebook SDK 获取访问令牌的 Android 应用程序,我还想将该令牌发送到 PHP-Laravel 后端并检索用户详细信息。
我使用参数 AccessToken accessToken.getToken() 对 Laravel 进行了 HttpPost 调用并在那里检索它,令牌与我尝试从 Web 界面登录并获取令牌时相同。
然后我打电话给
$user = Socialize::driver('facebook')->getUser($request->token);
// 手动函数添加到 AbstractProvider 类
public function getUser($token){
$state = null;
if ($this->usesState()) {
$this->request->getSession()->set('state', $state = Str::random(40));
}
$user = $this->mapUserToObject($this->getUserByToken($token));
return $user->setToken($token);
}
但我在日志中收到此错误
[2016-01-16 07:30:24] local.ERROR: 异常'GuzzleHttp\Exception\ClientException' 带有消息'客户端错误:GET https://graph.facebook.com/v2.5/me?access_token=&appsecret_proof=/* proof here*/&fields=first_name,last_name,email,gender,verified
导致400 Bad Request
响应:{"error":{"message":"一个活动的访问令牌必须用于查询当前用户的信息。","type":"OAuthExce (truncated...) ' in C:\wamp\www\PayPanel\PayPanel\vendor\guzzlehttp\guzzle\src\Exception\RequestException。 php:107