集成 HWIOAuthBundle 和 Google API Client - 如何设置正确的令牌



我有symfony2页面,我在其中使用与FOSUserBundle集成的HWIOAuthBundle。HWIOAuth 使用我自己的用户提供程序,该提供程序通过基本 FOSUBUserProvider (HWI\Bundle\OAuthBundle\Security\Core\User\FOSUBUserProvider) 扩展。使用此类,我能够检索有关访问令牌的信息。我的问题是 - 如何在谷歌 API 客户端中设置正确的访问令牌,示例代码:

$client = new Google_Client();
$client->setApplicationName("XXX");
$client->setClientId($this->container->getParameter('google_client_id'));
$client->setClientSecret($this->container->getParameter('google_client_secret'));
var_dump($user->getGoogleAccessToken()); // 83 characters string with google access token
$client->setAccessToken($user->getGoogleAccessToken());

最后一行抛出错误"无法 json 解码令牌",当我尝试设置json_encode时,它会抛出"无效的令牌格式"错误

如果您使用的是 Google PHP SDK 的 v2,则应执行以下操作

$client->setAccessToken([
    'access_token' => $accessToken,
    'expires_in'   => $expiresIn,
]);

问候


最新更新