Sto cercando di scrivere un piccolo script per caricare un file locale su Google Drive, utilizzando l'API PHP di Google Drive. La documentazione è molto povera mantenuta, ma finora sono abbastanza sicuro il codice dovrebbe essere alla ricerca di simile:API PHP di Google Drive - Caricamento file semplice
<?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);
?>
Il problema è che io non sono in grado di fare il giusto autenticazione (o sto facendo qualcosa che non va?). L'errore che ho ricevuto è:
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'
Seguito da questo errore:
Notice: Undefined variable: createdFile in C:\wamp\www\GoogleAPI\index.php on line 39
Che cosa sto facendo di sbagliato? Puoi fornire un semplice script di lavoro per caricare un file su Google Drive utilizzando l'API PHP di Google Drive? Grazie in anticipo!
Grazie per la tua risposta! Penso che lo script che hai fornito sia molto vicino alla cosa di cui ho bisogno. Nella mia versione precedente sono riuscito a ottenere il valore $ _GET ['code']. Anche con la tua versione dello script va bene. Il mio URL viene modificato in: http:? //localhost/googleApi/index.php codice = 4/T1PUKqjURysd_pzhnu7sfG_SPXxc.YsHYHi9UwVyjz_MlCJoi2I5xqokAI Il che significa che il codice è OK. Purtroppo, subito dopo ricevo quegli errori: – mirosoft
Errore irreversibile: eccezione non rilevata 'Google_IO_Exception' con messaggio 'Errore HTTP: impossibile connettersi:' fopen (https://accounts.google.com/o/oauth2/token) [function.fopen ]: impossibile aprire lo stream: argomento non valido '' in C: \ wamp \ www \ GoogleAPI \ Google \ IO \ Stream.php nella riga 112 – mirosoft
alcune configurazioni nel tuo server potrebbero risolvere il problema, ho cercato il tuo errore nel sistema operativo e ho trovato questo: http://stackoverflow.com/q/25193378/3477084 – Hafez