2017-02-08 7 views
1

Я пытаюсь интегрировать Google Диск на нашем веб-сайте. Нам хотелось бы скопировать файл с Диска на наш сервер, вы знаете, что-то вроде: Отправить в Мои файлы. Когда я пытаюсь интегрировать я столкнулся следующее сообщение об ошибкеКопирование файлов с Google Drive на наш сервер с помощью Google Диска API-библиотека PHP V3

enter image description here

Мой попытался код:

require_once(ROOT . DS . 'vendor' . DS . 'google-api-php-client' . DS . 'vendor' . DS . 'autoload.php'); 

     define('APPLICATION_NAME', 'Drive API PHP Quickstart'); 
     define('CREDENTIALS_PATH', ROOT . DS . 'vendor' . DS. 'google-api-php-client' . DS .'vendor' . DS . 'drive-php-quickstart.json'); 
     define('CLIENT_SECRET_PATH', ROOT . DS . 'vendor' . DS. 'google-api-php-client' . DS . 'vendor' . DS . 'client_secret.json'); 
     define('SCOPES', implode(' ', array(\Google_Service_Drive::DRIVE_METADATA_READONLY))); 


     $client = new \Google_Client(); 
     $client->setApplicationName(APPLICATION_NAME); 
     $client->setScopes(SCOPES); 
     $client->setAuthConfig(CLIENT_SECRET_PATH); 
     $client->setAccessType('offline'); 

     // Load previously authorized credentials from a file. 
     $credentialsPath = $this->expandHomeDirectory(CREDENTIALS_PATH); 
     if (file_exists($credentialsPath)) { 
      $accessToken = json_decode(file_get_contents($credentialsPath), true); 
     } else { 
      // Request authorization from the user. 
      $authUrl = $client->createAuthUrl(); 
      printf("Open the following link in your browser:\n%s\n", $authUrl); 
      print 'Enter verification code: '; 
      $authCode = trim(fgets(STDIN)); 

      // Exchange authorization code for an access token. 
      $accessToken = $client->fetchAccessTokenWithAuthCode($authCode); 

      // Store the credentials to disk. 
      if (!file_exists(dirname($credentialsPath))) { 
       mkdir(dirname($credentialsPath), 0700, true); 
      } 
      file_put_contents($credentialsPath, json_encode($accessToken)); 
      printf("Credentials saved to %s\n", $credentialsPath); 
     } 
     $client->setAccessToken($accessToken); 


     // Refresh the token if it's expired. 
     if ($client->isAccessTokenExpired()) { 
      $client->fetchAccessTokenWithRefreshToken($client->getRefreshToken()); 
      file_put_contents($credentialsPath, json_encode($client->getAccessToken())); 
     } 

ответ

0

Вы ошибка Notice: Use of undefined constant STDIN означает, что он ищет постоянную называется STDIN. Когда он не находит такую ​​константу, PHP интерпретирует ее как строку. Очевидно, это может легко сломаться, если вы позже определите такую ​​константу. Он указал here, что вы должны указать свой массив, чтобы избежать такой ошибки. Сообщение об ошибке связано с неудачным фактом, что PHP неявно объявляет неизвестный токен как константную строку с тем же именем. Вы также можете проверить по этой ссылке: Copy a file from Google Drive to my own server