Tutto quello che sto cercando di fare è leggere un foglio di calcolo di Google da un sito web. Ho letto e riletto i documenti dell'API di Google Drive e tutto ciò che riguarda Google Drive PHP su Stack Overflow e non riesco ancora a raggiungere la zona finale.Come faccio a leggere un foglio di calcolo di Google Drive in PHP?
Ecco che cosa ho fatto:
- Conosci l'API Console di Google e:
- Enabled "Unità API" e "Unità SDK" sotto 'Servizi';
- Creato un ID client OAuth 2.0 in "Accesso API". Sotto "Client ID per applicazioni web", la console mi ha fornito "ID client", "Indirizzo email", "Segreto client", "URI di reindirizzamento" e "Origini JavaScript";
- Scaricato la "Libreria client PHP API di Google";
- Aperto il documento Google Drive (foglio di calcolo) e fatto clic su "Condividi" per ottenere la "chiave" del documento;
- impostare il codice seguente:
<?php
session_start();
require_once 'lib/gapi/Google_Client.php';
require_once 'lib/gapi/contrib/Google_DriveService.php';
define('GDRIVE_CLIENT_ID', '<API Console - API Access - Client ID>');
define('GDRIVE_CLIENT_SECRET', '<API Console - API Access - Client secret>');
define('GDRIVE_REDIRECT_URIS', '<API Console - API Access - Redirect URIs>');
define('GDRIVE_SCOPE_01', 'h t t p s://www.googleapis.com/auth/drive');
define('GDRIVE_SCOPE_02', 'h t t p s://www.googleapis.com/auth/drive.apps.readonly');
define('GDRIVE_SCOPE_03', 'h t t p s://www.googleapis.com/auth/drive.file');
define('GDRIVE_SCOPE_04', 'h t t p s://www.googleapis.com/auth/drive.metadata.readonly');
define('GDRIVE_SCOPE_05', 'h t t p s://www.googleapis.com/auth/drive.readonly');
define('GDRIVE_FILE_KEY', '<'key' given from 'sharing' document>');
$client = new Google_Client();
$client->setClientId(GDRIVE_CLIENT_ID);
$client->setClientSecret(GDRIVE_CLIENT_SECRET);
$client->setRedirectUri(GDRIVE_REDIRECT_URIS);
$client->setScopes(array(GDRIVE_SCOPE_01, GDRIVE_SCOPE_02, GDRIVE_SCOPE_03, GDRIVE_SCOPE_04, GDRIVE_SCOPE_05));
try {
$file = $service->files->get(GDRIVE_FILE_KEY);
echo "Title: ", $file->getTitle();
echo "Description: ", $file->getDescription();
echo "MIME type: ", $file->getMimeType();
} catch (Exception $e) {
echo "An error occurred: ", $e->getMessage();
}
?>
Tutto funziona bene (nessun errore in ogni caso) fino a quando la $service->files->get(GDRIVE_FILE_KEY)
chiamata che fa scattare l'eccezione:
Si è verificato un errore: Errore chiama GET
https://www.googleapis.com/drive/v2/files
: (403) Limite giornaliero per l'utilizzo non autenticato superato. L'uso continuato richiede l'iscrizione.
Cosa sto sbagliando? Mi sono tirato fuori i capelli (beh, quello che era rimasto).
Ovviamente, i riferimenti a "h t t p s: //" sono in realtà "https: //", ma StackOverflow si è lamentato della pubblicazione dei collegamenti. – Kiser
Utilizzare il ** "{}" pulsante della barra degli strumenti ** per formattare il codice come codice. –
Invece di fare pazzesco HTML nella tua risposta, dovresti usare 4 spazi per indentare il tuo codice. La colorazione e l'evidenziazione saranno automaticamente applicati. – j0k