2014-12-09 4 views
1

У меня есть страница symfony2, где я использую HWIOAuthBundle, интегрированный с FOSUserBundle. HWIOAuth, используя мой собственный пользовательский провайдер, который распространяется через базовый FOSUBUserProvider (HWI \ Bundle \ OAuthBundle \ Security \ Core \ User \ FOSUBUserProvider). С этим классом я могу получить информацию о AccessToken. Мой вопрос - как установить правильный маркер доступа в клиенте Google Api, пример кода:Интеграция HWIOAuthBundle и Google Api Client - Как установить правильный токен

$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, то он выдает «Invalid маркер формат»ошибка

+0

Хорошо, неважно. $ client-> setAccessToken (json_encode (['access_token' => $ user-> getGoogleAccessToken()])); делает работу – elmasterlow

+0

Я всегда получаю токен expire error, У вас есть те же проблемы? – GirginSoft

+0

У меня нет доступа к сайту. Я не знаю, извините. – elmasterlow

ответ

0

Если вы используете v2 в Google PHP SDK, вы должны сделать следующее

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

с уважением


Смежные вопросы