Google PHP SDK – не получает токен обновления

Я пытаюсь получить токен обновления для API Google, используя PHP SDK. Я проверяю пользователя с помощью Javascript, извлекаю код и обмениваю его на стороне сервера access_token, но это не дает мне токен доступа. Что я делаю не так? Вот код, который я использую:

$client = new Google_Client(); $client->setClientId($client_id); $client->setClientSecret($client_secret); $client->addScope('https://www.googleapis.com/auth/plus.me'); $client->addScope('https://www.google.com/m8/feeds'); $client->setRedirectUri('postmessage'); $client->setAccessType('offline'); if (isset($_REQUEST['code'])) { $client->authenticate($_REQUEST['code']); if ($client->getAccessToken()) { $_SESSION['access_token'] = $client->getAccessToken(); $token_data = $client->verifyIdToken()->getAttributes(); $result['data']=$token_data; $result['access_token']=json_decode($_SESSION['access_token']); } } debug($result); //my own function, var_dumps the content of an array 

Вот результат массива:

$ result ['access_token'] содержит:

access_token: TOKEN
создано: 1434380576
expires_in: 3594
id_token: IDTOKEN
token_type: "Знаменосец"

Если я не ошибаюсь, первый токен доступа должен также содержать токен обновления, что я делаю неправильно?

Solutions Collecting From Web of "Google PHP SDK – не получает токен обновления"

Сначала проверьте настройки в консоли разработчика Google, чтобы узнать, совпадает ли ваш RedirectUri и что API активирован (хотя, если у вас уже есть этот .json, то я предполагаю, что это так.

Вам нужно пройти через экран проверки подлинности Google Auth как минимум 1 раз, чтобы получить токен обновления в вашем .json, и если ваш RedirectUri ни к чему не приведет, вы не сможете получить токен обновления или даже проверку доступа.

Вы также можете попробовать учетную запись службы, если выполняете небольшие транзакции файла и не нуждаетесь в проверке пользователя для процесса вашего скрипта. Удачи.

Проблема заключалась в том, что я должен был указать, что мне нужен автономный доступ в процессе аутентификации, на стороне клиента … API Google ужасно документирован !!!