2017-02-08 4 views
1

J'essaie d'intégrer Google Drive à notre site Web. Ce que nous aimerions faire est de copier un fichier de Drive sur notre serveur, vous savez, en quelque sorte: Send to My Files. Quand je tente d'intégrer je suis confronté à l'erreur suivanteCopier les fichiers de google drive sur notre serveur via Google Drive API de bibliothèque PHP V3

enter image description here

Mon essayé Code:

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())); 
     } 

Répondre

0

erreur Vous Notice: Use of undefined constant STDIN signifie qu'il cherchait constante appelée STDIN. Quand il ne trouve pas une telle constante, PHP l'interprète comme une chaîne. Évidemment, cela peut facilement se casser si vous définissez une telle constante plus tard. Il a déclaré here que vous devriez citer votre clé de tableau pour éviter une telle erreur. Le message d'erreur est dû au fait malheureux que PHP déclarera implicitement un jeton inconnu comme une chaîne constante du même nom. Vous pouvez également vérifier sur ce lien: Copy a file from Google Drive to my own server