J'essaie d'écrire un petit script pour télécharger un fichier local sur Google Drive, en utilisant l'API PHP Google Drive. La documentation est très pauvre maintenu, mais jusqu'à présent je suis assez sûr que le code devrait chercher comme ça:Google Drive API PHP - Téléchargement de fichier simple
<?php
include_once 'Google/Client.php';
include_once 'Google/Service/Drive.php';
include_once 'Google/Auth/OAuth2.php';
$client = new Google_Client();
$client->setScopes(array('https://www.googleapis.com/auth/drive.file'));
$client->setClientId('dfgdfgdg');
$client->setClientSecret('dfgdfgdf');
$client->setRedirectUri('urn:ietf:wg:oauth:2.0:oob');
$service = new Google_Service_Drive($client);
$data = file_get_contents("a.jpg");
// create and upload a new Google Drive file, including the data
try
{
//Insert a file
$file = new Google_Service_Drive_DriveFile($client);
$file->setTitle(uniqid().'.jpg');
$file->setMimeType('image/jpeg');
$createdFile = $service->files->insert($file, array(
'data' => $data,
'mimeType' => 'image/jpeg',
'uploadType' => 'media',
));
}
catch (Exception $e)
{
print $e->getMessage();
}
print_r($createdFile);
?>
La question est que je ne suis pas en mesure de faire le droit d'authentification (ou je fais quelque chose d'autre mal?). L'erreur que je reçu est:
HTTP Error: Unable to connect: 'fopen(compress.zlib://https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart) [function.fopen]: failed to open stream: operation failed'
Suivi par cette erreur:
Notice: Undefined variable: createdFile in C:\wamp\www\GoogleAPI\index.php on line 39
Qu'est-ce que je fais mal? Pouvez-vous fournir un script de travail simple permettant de télécharger un fichier sur Google Drive à l'aide de l'API PHP Google Drive? Merci d'avance!
Merci pour votre réponse! Je pense que le script que vous avez fourni est très proche de ce dont j'ai besoin. Dans ma version précédente, j'ai réussi à obtenir la valeur $ _GET ['code']. Avec votre version du script, c'est OK aussi. Mon URL est changé: http: //localhost/googleApi/index.php code = 4/T1PUKqjURysd_pzhnu7sfG_SPXxc.YsHYHi9UwVyjz_MlCJoi2I5xqokAI Ce qui signifie que le code est OK. Malheureusement, juste après cela, je reçois ces erreurs: – mirosoft
Erreur fatale: Exception non interceptée 'Google_IO_Exception' avec le message 'Erreur HTTP: Impossible de se connecter:' fopen (https://accounts.google.com/o/oauth2/token) [function.fopen ]: Échec de l'ouverture du flux: Argument invalide dans C: \ Wamp \ www \ GoogleAPI \ Google \ IO \ Stream.php sur la ligne 112 – mirosoft
une certaine configuration dans votre serveur peut résoudre le problème, j'ai recherché votre erreur dans le système d'exploitation et trouvé ceci: http://stackoverflow.com/q/25193378/3477084 – Hafez