2014-09-07 2 views
0

Я новичок в авторизации клиента Google. Я пытаюсь загрузить файл на мой диск Google, используя этот PHP Google клиент скачанного отсюда https://github.com/google/google-api-php-clientНе удалось получить refresh_token из ответа Google Oauth

public function oauth2callback(){ 
     set_include_path(get_include_path() . PATH_SEPARATOR . ROOT .DS. "vendors"); 
     require_once 'Google/Client.php'; 
     $client = new Google_Client(); 

     $client->setClientId('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); 
     $client->setClientSecret('xxxxxxxxxxxxxxxxx'); 
     $client->setRedirectUri('http://example.com/auth/oauth2callback'); 
     $client->setScopes(array('https://www.googleapis.com/auth/drive')); 
     $client->setState('offline'); 
     $authUrl = $client->createAuthUrl(); 
     if (isset($_GET['code'])) { 
       $authCode = trim($_GET['code']); 
       $accessToken = $client->authenticate($authCode); 
       print_r($accessToken); 
       $client->setAccessToken($accessToken); 
     } 
     if ($client->getAccessToken()) { 
      // To do 
     }else{ 
      $authUrl = $client->createAuthUrl(); 
      echo "<a href='$authUrl'>Login Now</a>"; 
     } 
    } 

В ответ я только Получать эту

{"access_token":"ya29.eQAeXvi4c5CAGRwAAAAKr55Tljr6z_GpdfjyY0xbrD15XGikNRL-D724Hx1L_g","token_type":"Bearer","expires_in":3600,"created":1410085058} 

без маркеров обновления.

Я просто хочу получить токен обновления из ответа для последующего использования.

Я также следовал this question

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

Пожалуйста, ребята, помогите мне ...

ответ

1

я пропускал access_type = автономный ..

Таким образом, добавление

$client->setAccessType('offline'); 

исправлена ​​проблема.

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