Google Drive supporta PHP
Carica file su Google Drive utilizzando PHP
Riepilogo:
Google Drive è un servizio di archiviazione cloud che consente agli utenti di archiviare e condividere file. In questo articolo, discuteremo di come caricare file su Google Drive utilizzando PHP. Copriremo i passaggi coinvolti nella costruzione di uno script PHP per caricare file su Google Drive e spiegare in dettaglio il processo. L’articolo fornirà anche istruzioni su come creare un progetto Google e abilitare l’API di Drive, nonché come creare una tabella di database per archiviare le informazioni sui file.
Punti chiave:
1. Installazione della libreria client PHP: Prima di iniziare, dovrai installare la libreria client PHP per Google Drive. Le istruzioni per l’installazione sono disponibili sulla libreria client API PHP di Google Readme.
2. Google Drive supporta PHP?: Sì, Google Drive supporta PHP. Fornisce un servizio API REST che consente di caricare e gestire a livello di programmazione su Google Drive utilizzando PHP.
3. Caricamento di file su Google Drive: Per caricare file su Google Drive utilizzando PHP, dovrai creare un modulo HTML per selezionare il file da caricare. Il file verrà caricato sul server locale e le sue informazioni verranno inserite nel database. L’utente dovrà quindi autenticare con il proprio account Google e il file verrà caricato su Google Drive dallo script PHP. Verrà visualizzato lo stato del caricamento del file, insieme a un collegamento per visualizzare il file su Google Drive.
4. Creazione di un progetto Google e API Abilita Drive: Per effettuare chiamate API a Google Drive, avrai bisogno di chiavi API. È possibile ottenere queste chiavi creando un progetto Google e abilitando l’API di guida. Nell’articolo sono fornite istruzioni su come creare un progetto Google e abilitare l’API Drive.
5. Creazione di una tabella di database: Per archiviare le informazioni sui file sul server locale, dovrai creare una tabella di database. L’articolo include istruzioni su come creare la tabella necessaria.
Domande:
1. Come si installa la libreria client PHP per Google Drive?
Per installare la libreria client PHP per Google Drive, è possibile seguire le istruzioni fornite nella libreria client PHP di Google PHP Readme. Assicurati di verificare la versione più recente della libreria sul repository dei pacchetti PHP.
2. Posso usare PHP per caricare file su Google Drive?
Sì, Google Drive supporta PHP. È possibile utilizzare PHP per caricare programmaticamente file su Google Drive utilizzando l’API di Drive.
3. Quali sono i passaggi coinvolti nel caricamento di file su Google Drive utilizzando PHP?
I passaggi coinvolti nel caricamento di file su Google Drive utilizzando PHP sono i seguenti:
- Crea un modulo HTML per selezionare il file da caricare.
- Carica il file sul server locale e inserisci le sue informazioni nel database.
- Autentica l’utente con il proprio account Google.
- Carica il file su Google Drive dallo script PHP.
- Visualizza lo stato di caricamento del file e fornisci un collegamento per visualizzare il file su Google Drive.
4. Come posso creare un progetto Google e abilitare l’API di guida?
Per creare un progetto Google e abilitare l’API di Drive, puoi seguire questi passaggi:
- Vai alla console API di Google.
- Seleziona un progetto esistente o crea uno nuovo.
- Nella barra laterale, selezionare “Libreria” nella sezione “API & SERVICES”.
- Cerca l’API di Google Drive e abilitalo.
- Inserisci i dettagli dell’applicazione e specifica i domini autorizzati.
- Seleziona il tipo di applicazione come “applicazione Web” e fornisci gli URI reindirizzati autorizzati.
- Notare l’ID client e il segreto client per un uso successivo.
5. Devo creare una tabella di database per caricare file su Google Drive utilizzando PHP?
Sì, dovrai creare una tabella di database per archiviare le informazioni sul server locale. Questa tabella verrà utilizzata per inserire le informazioni sul file prima di caricarle su Google Drive.
6. Come posso visualizzare il file caricato su Google Drive utilizzando PHP?
Dopo aver caricato il file su Google Drive utilizzando PHP, è possibile fornire un collegamento per visualizzare il file su Google Drive. Il collegamento può essere generato utilizzando l’identificatore univoco del file fornito dall’API dell’unità.
7. Posso caricare più file su Google Drive utilizzando PHP?
Sì, puoi caricare più file su Google Drive utilizzando PHP. È possibile modificare lo script PHP per gestire più carichi di file e caricarli su Google Drive uno per uno.
8. Esiste un limite di dimensione del file per il caricamento di file su Google Drive utilizzando PHP?
Google Drive ha un limite di dimensione del file di 5 TB per singoli file. Tuttavia, alcune restrizioni possono essere applicate in base al piano di archiviazione di Google Drive. Assicurati di controllare il limite di archiviazione del tuo account Google Drive.
9. Come posso gestire gli errori di caricamento dei file mentre carichi file su Google Drive utilizzando PHP?
Per gestire gli errori di caricamento dei file durante il caricamento di file su Google Drive utilizzando PHP, è possibile implementare i meccanismi di gestione degli errori nel tuo script PHP. È possibile verificare gli errori comuni come il limite di dimensione del file superati, il formato di file non valido o lo spazio di archiviazione insufficiente su Google Drive.
10. Posso eliminare i file da Google Drive utilizzando PHP?
Sì, puoi eliminare i file da Google Drive utilizzando PHP. L’API Drive fornisce metodi per eliminare i file da Google Drive a livello di livello. È possibile utilizzare questi metodi nello script PHP per eliminare i file in base ai requisiti.
Carica file su Google Drive utilizzando PHP
Dovrai installare la libreria client PHP Questo può essere fatto utilizzando il compositore. Le istruzioni per questo sono disponibili sulla libreria client PHP di Google PHP Readme. Ti consiglio di verificare il numero di versione più recente sul repository dei pacchetti PHP
Google Drive supporta PHP
Об этой сттце
Ыы зарегистрировали подозритеstituire. С помощю ээй ст р ы ыы сможем о imperceде quello. Почему ээо мо л поззти?
Эта страница отображается в тех с лччч, когда автоматическиtal систе quisi которые наршают условия иполззования. Страница перестан scegliere. До этого момента для иполззования сжж google необходимо пхоходить поверку по по по по по.
” ылку запросов. Если ы и ипоеете общий доступ в интернет, проmma. Обратитесь к с ое системому администратору. Подробнеi.
Проверка по слову может также появляться, если вы вводите сложные запросы, обычно распространяемые автоматизированными системами, или же вводите запросы очень часто.
Carica file su Google Drive utilizzando PHP
Google Drive è un motore di archiviazione cloud che consente agli utenti di archiviare e condividere i file in modo efficiente. I file sono sincronizzati su tutti i dispositivi ed è possibile accedervi da qualsiasi luogo. Google Drive semplifica la gestione dei documenti senza alcuna archiviazione personale. Puoi anche gestire file e cartelle in Google Drive in remoto utilizzando API.
IL API di guida consente la gestione di file e cartelle memorizzati su Google Drive. È possibile caricare e gestire i file dal sito Web utilizzando Google Drive API. Se l’applicazione Web richiede di consentire agli utenti di accedere o gestire i file di Google Drive, Drive API fornisce un modo semplice per caricare file su Google Drive a livello di programmazione con il servizio API REST. Questo tutorial spiega come Carica file su Google Drive utilizzando PHP.
In questo esempio lo script PHP, il seguente processo verrà implementato Carica file su Google Drive con PHP.
- Crea un modulo HTML per selezionare il file da caricare.
- Carica file sul server locale e inserisci le informazioni sul file nel database.
- Autentica l’utente con account Google.
- Carica file su Google Drive dallo script PHP.
- Visualizza lo stato di caricamento del file con un collegamento per visualizzare il file su Google Drive.
Prima di iniziare a costruire uno script PHP Carica file su Google Drive Usando PHP, dai un’occhiata alla struttura del file.
Google_Drive_File_Upload_With_Php/ ├── config.PHP ├── dbconfig.PHP ├── indice.PHP ├── caricamento.PHP ├── Google_Drive_Sync.PHP ├── GoogledRiveAPI.classe.PHP └── CSS/ └ impegno.CSS
Crea Google Project e Abilita API Drive
Google Project è richiesto per ottenere le chiavi API che verranno utilizzate per effettuare chiamate API a Google Drive. Se hai già un’applicazione Google esistente, le chiavi API possono essere utilizzate da essa. Assicurati solo che l’API di Google Drive sia abilitata in questo progetto Google esistente. Se indossi’T qualsiasi applicazioni Google, segui i passaggi seguenti per registrare l’applicazione sulla console di Google Developers e ottenere le chiavi API.
- Vai alla console API di Google.
- Seleziona un progetto esistente dall’elenco dei progetti o fai clic su NUOVO PROGETTO Per creare un nuovo progetto:

- Digitare il Nome del progetto.
- L’ID progetto verrà creato automaticamente nel campo Nome progetto. (Facoltativo) È possibile modificare questo ID progetto con Modificare link, ma dovrebbe essere unico in tutto il mondo.
- Clicca il CREARE pulsante.
- Nella barra laterale, seleziona Biblioteca sotto il API e servizi sezione.
- Cerca il servizio API di Google Drive nell’elenco API e seleziona API di Google Drive.
- Clicca il ABILITARE Pulsante per rendere disponibile la libreria API di Google Drive.
- Immettere il nome dell’applicazione.
- Scegli un’e -mail di supporto.
- Specificare la Domini autorizzati che sarà autorizzato ad autenticarsi usando OAuth.
- Clicca il Salva pulsante.
- Nel Tipo di applicazione sezione, selezionare applicazione web.
- Nel URI RIDERATO AUTORIZZATI campo, specificare l’URL di reindirizzamento.
- Clicca il Creare pulsante.
Verrà visualizzata una finestra di dialogo con i dettagli del client OAuth, nota l’ID client e il segreto client per l’utilizzo successivo nello script. Questo ID client e segreto client ti consentono di accedere all’API di Google Drive.

Nota che: il Identificativo cliente E Segreto del cliente è necessario specificare al momento della chiamata API di Google Drive. Inoltre, gli URI reindirizzati autorizzati devono essere abbinati all’URL di reindirizzamento specificato nello script.
Crea la tabella del database
Nel database è richiesta una tabella per archiviare le informazioni sul server locale. Il seguente SQL crea una tabella drive_files con alcuni campi di base nel database MySQL.
CREARE TAVOLO `drive_files` ( `id` int(11) NON NULLO INCREMENTO AUTOMATICO, `file_name` Varchar(255) FASCICOLARE utf8_unicode_ci PREDEFINITO NULLO, `Google_Drive_file_id` Varchar(255) FASCICOLARE utf8_unicode_ci PREDEFINITO NULLO, `creato ' appuntamento NON NULLO PREDEFINITO Current_Timestamp(), Primario CHIAVE (`id`) MOTORE=InnodB PREDEFINITO Chatset= UTF8 FASCICOLARE= UTF8_UNICODE_CI;
Libreria API PHP di Google Drive
Google fornisce una libreria client PHP per effettuare le chiamate API di guida, ma contiene molti servizi aggiuntivi forniti con un numero enorme di file e hanno dimensioni di grandi dimensioni. Per semplificare il processo, creeremo una libreria personalizzata per gestire le chiamate API di Google Drive con PHP.
Nostro Biblioteca API di Google Aiuta ad autenticarsi con l’account Google e accedere all’API Drive con API REST utilizzando PHP CURL. Questa libreria PHP personalizzata utilizzerà Google Drive V3 API Per gestire il processo di caricamento del file.
- GetAccessToken () – Prendi il token di accesso dall’API di Google Oauth 2 utilizzando il codice di autenticazione.
- UploadFileToDrive () – Invia file a Google Drive per il caricamento utilizzando API REST.
- UpdateFileMeta () – Aggiorna i metadati del file caricato in Google Drive.
/**
*
* Questa classe API Handler di Google Drive è una libreria PHP personalizzata per gestire le chiamate API di Google Drive.
*
* @Class GoogledRiveAPI
* @Author CodexWorld
* @link http: // www.CodexWorld.com
* @Version 1.0
*/
classe Googledriveapi <
const Oauth2_token_uri = 'https: // oauth2.Googleapis.com/token ';
const Drive_file_upload_uri = 'https: // www.Googleapis.com/upload/drive/v3/files ';
const Drive_file_meta_uri = 'https: // www.Googleapis.com/drive/v3/files/';
funzione __costruire($ params = array ()) <
Se (contare($ params)> 0) <
$ questo->inizializzare($ params);
>
>
funzione inizializzare($ params = array ()) <
Se (contare($ params)> 0) <
per ciascuno ($ params COME $ Key => $ val) <
if (ISSET ($ questo->$ Key) <
$ questo->$ Key = $ val;
>
>
>
>
funzione pubblica GetAccessToken($ client_id, $ redirect_uri, $ client_secret, $ codice) <
$ Curlpost = 'client_id =' . $ client_id . '& rediRect_uri =' . $ redirect_uri . '& client_secret =' . $ client_secret . '& code ='. $ codice . '& Grant_Type = Authorization_Code';
$ ch = Curl_init();
Curl_setopt($ ch, Curlopt_url, se stesso:::Oauth2_token_uri);
Curl_setopt($ ch, Curlopt_returntransfer, 1);
Curl_setopt($ ch, Curlopt_post, 1);
Curl_setopt($ ch, CURLOPT_SSL_VERIFYPEER, Falso);
Curl_setopt($ ch, Curlopt_postfields, $ Curlpost);
$ dati = JSON_DECODE(CURL_EXEC($ ch), VERO);
$ http_code = Curl_GetInfo($ ch,Curlinfo_HTTP_Code);
Se ($ http_code != 200) <
$ error_msg = 'Impossibile ricevere il token di accesso';
Se (Curl_errno($ ch) <
$ error_msg = Curl_error($ ch);
>
lanciare nuovo Eccezione('Errore'.$ http_code.':'.$ error_msg);
>
ritorno $ dati;
>
funzione pubblica UploadfiletoDrive($ Access_Token, $ file_content, $ mime_type) <
$ apiurl = se stesso:::Drive_file_upload_uri . '?uploadType = Media ';
$ ch = Curl_init();
Curl_setopt($ ch, Curlopt_url, $ apiurl);
Curl_setopt($ ch, Curlopt_returntransfer, 1);
Curl_setopt($ ch, Curlopt_post, 1);
Curl_setopt($ ch, CURLOPT_SSL_VERIFYPEER, Falso);
Curl_setopt($ ch, Curlopt_httpheader, vettore('Tipo di contenuto: '.$ mime_type, 'Autorizzazione: portatore'. $ Access_Token));
Curl_setopt($ ch, Curlopt_postfields, $ file_content);
$ dati = JSON_DECODE(CURL_EXEC($ ch), VERO);
$ http_code = Curl_GetInfo($ ch,Curlinfo_HTTP_Code);
Se ($ http_code != 200) <
$ error_msg = 'Impossibile caricare file su Google Drive';
Se (Curl_errno($ ch) <
$ error_msg = Curl_error($ ch);
>
lanciare nuovo Eccezione('Errore'.$ http_code.':'.$ error_msg);
>
ritorno $ dati['id'];
>
funzione pubblica UpdatefileMeta($ Access_Token, $ file_id, $ file_meatadata) <
$ apiurl = se stesso:::Drive_file_meta_uri . $ file_id;
$ ch = Curl_init();
Curl_setopt($ ch, Curlopt_url, $ apiurl);
Curl_setopt($ ch, Curlopt_returntransfer, 1);
Curl_setopt($ ch, Curlopt_post, 1);
Curl_setopt($ ch, CURLOPT_SSL_VERIFYPEER, Falso);
Curl_setopt($ ch, Curlopt_httpheader, vettore('Content-Type: Application/JSON', 'Autorizzazione: portatore'. $ Access_Token));
Curl_setopt($ ch, Curlopt_CustomRequest, 'TOPPA');
Curl_setopt($ ch, Curlopt_postfields, JSON_ENCODE($ file_meatadata));
$ dati = JSON_DECODE(CURL_EXEC($ ch), VERO);
$ http_code = Curl_GetInfo($ ch,Curlinfo_HTTP_Code);
Se ($ http_code != 200) <
$ error_msg = 'Impossibile aggiornare i metadati dei file';
Se (Curl_errno($ ch) <
$ error_msg = Curl_error($ ch);
>
lanciare nuovo Eccezione('Errore'.$ http_code.':'.$ error_msg);
>
ritorno $ dati;
>
>
?>
Configurazione del database e dell’API (configurazione.PHP)
Nella configurazione.Sono definiti il file PHP, le impostazioni del database e le variabili costanti di configurazione API di Google.
Costanti del database:
- DB_HOST – Specifica l’host del database.
- Db_username – Specifica il nome utente del database.
- DB_Password – Specifica la password del database.
- DB_Name – Specifica il nome del database.
Costanti API di Google:
- Google_Client_id – Specifica l’ID client del progetto Google.
- Google_Client_Secret – Specifica il segreto client di Google Project.
- Google_oauth_scope – Specifica l’ambito OAuth per l’autenticazione di Google (Imposta su https: // www.Googleapis.com/auth/drive).
- RediRect_Uri – Specifica l’URL di callback.
Google Oauth URL:
- $ Googleoauthurl – L’URL che consente all’utente di autenticarsi con l’account Google.
// Configurazione del database
definire('Db_host', 'Mysql_database_host');
definire('Db_username', 'Mysql_database_username');
definire('Db_password', 'Mysql_database_password');
definire('Db_name', 'Mysql_database_name');
// Configurazione API di Google
definire('Google_client_id', 'Google_project_client_id');
definire('Google_Client_Secret', 'Google_project_client_secret');
definire('Google_oauth_scope', 'https: // www.Googleapis.com/auth/drive ');
definire('Redirect_uri', 'https: // www.esempio.com/google_drive_sync.php ');
// Avvia la sessione
Se(!session_id()) session_start();
// URL di Google Oauth
$ googleoauthurl = 'https: // account.Google.com/o/oauth2/auth?Scope = ' . Urlencode(Google_oauth_scope) . '& rediRect_uri =' . Redirect_uri . '& response_type = code & client_id =' . Google_Client_id . '& access_type = online';
?>
Si noti che: l’ID client e il segreto client sono disponibili nella pagina di Google API Manager del progetto della console API.
Connessione al database (DBConfig.PHP)
Il dbconfig.Il file PHP viene utilizzato per connettere e selezionare il database MySQL utilizzando PHP.
// Includi il file di configurazione
requisito_once 'config.php ';
// Crea connessione al database
$ db = nuovo mysqli(Db_host, Db_username, Db_password, Db_name);
// Controlla la connessione
Se ($ db->Connect_error) <
morire("Connessione fallita: " . $ db->Connect_error);
>
Modulo di caricamento del file (indice.PHP)
Crea un modulo HTML per selezionare il file per caricare qualsiasi tipo di file (.jpg, .jpeg, .png, .PDF, .xlsx, .CSV, ecc.).
- L’attributo Enctype deve essere definito < form >Tag per consentire il caricamento dei file.
- All’invio, i dati del file vengono pubblicati sullo script lato server (upload.PHP) per ulteriore elaborazione.
// Includi il file di configurazione
include_once 'config.php ';
$ status = $ statusMsg = '';
Se(!vuoto($ _Session['status_response'])) <
$ status_response = $ _Session['status_response'];
$ status = $ status_response['stato'];
$ statusMsg = $ status_response['status_msg'];
non settato($ _Session['status_response']);
>
?> Se(!vuoto($ statusMsg) ?> div classe="Avviso. Avviso- eco $ status; ?>"> eco $ statusMsg; ?> div> > ?> div classe="Col-MD-12"> modulo metodo="inviare" azione="caricamento.php " classe="modulo" Enctipo="Multipart/Form-Data"> div classe="Group di forma"> etichetta>Etichetta del file> ingresso tipo="file" nome="file" classe="Controllo delle forme"> div> div classe="Group di forma"> ingresso tipo="invia" classe="BTN-PRIMARY" nome="invia" valore="Caricamento"/> div> modulo> div>
Store del file nel database (upload.PHP)
Il caricamento.Il file PHP gestisce il caricamento del file in PHP e il processo di inserimento dei dati nel database MySQL.
- Ottieni informazioni sul file dal campo di input utilizzando Php $ _files variabile.
- Convalida l’input per verificare se i campi obbligatori sono vuoti.
- Carica file sul server locale e inserisci i dati dei file nel database utilizzando PHP e MySQL.
- Reindirizza l’utente all’URL OAuth per l’autenticazione con l’account Google.
// Includi il file di configurazione del database
requisito_once 'DBConfig.php ';
$ statusMsg = $ Valerr = '';
$ status = 'Pericolo';
// Se il modulo viene inviato
if (ISSET ($ _Post['invia'])) <
// Convalida i campi di input del modulo
Se (vuoto ($ _Files["file"] ["nome"])) <
$ Valerr .= 'Seleziona un file da caricare.
';
>
// Controlla se gli ingressi dell'utente sono vuoti
Se (vuoto ($ Valerr) <
$ targetdir = "Carica/";
$ nome file = basename($ _Files["file"] ["nome"]);
$ targetfilepath = $ targetdir . $ nome file;
// Carica file sul server locale
Se(move_uploaded_file($ _Files["file"] ["tmp_name"", $ targetfilepath) <
// Inserisci i dati nel database
$ sqlq = "Inserisci in drive_files (file_name, creato) valori (?,ORA())";
$ stmt = $ db->preparare($ sqlq);
$ stmt->bind_param("S", $ db_file_name);
$ db_file_name = $ nome file;
$ INSERT = $ stmt->eseguire();
Se($ INSERT) <
$ file_id = $ stmt->Insert_id;
// Store di riferimento DB ID di riferimento del file in sessione
$ _Session['last_file_id'] = $ file_id;
intestazione("Posizione: $ googleoauthurl");
Uscita();
> altro <
$ statusMsg = 'Qualcosa è andato storto, per favore riprova dopo un po' di tempo.';
>
> altro <
$ statusMsg = 'Caricamento del file non riuscito, riprova dopo un po' di tempo.';
>
> altro <
$ statusMsg = 'Si prega di riempire tutti i campi obbligatori:
'
.ordinare($ Valerr, '
');
>
> altro <
$ statusMsg = 'Presentazione del modulo non riuscita!';
>
$ _Session['status_response'] = array ('stato' => $ status, 'status_msg' => $ statusMsg);
intestazione("Posizione: indice.php ");
Uscita();
?>
Carica file su Google Drive (Google_Drive_Sync.PHP)
Questo script è impostato come URI di reindirizzamento nella configurazione API di Google. Ciò significa dopo l’autenticazione con l’account Google, l’utente verrà reindirizzato a questo script che gestisce il processo di caricamento del file di Google Drive con API REST utilizzando PHP.
- Ottieni il codice OAuth dalla stringa di query dell’URL utilizzando Php $ _get variabile.
- Includi e inizializza la classe di gestore API di Google Drive.
- Ottieni l’ID di riferimento del file del database locale dalla sessione.
- Prendi le informazioni sul file dal database in base all’ID di riferimento.
- Recupera il file dal server e definisci l’intero file in una stringa utilizzando file_get_contents () funzione in php.
- Ottieni il tipo MIME del file utilizzando mime_content_type () funzione in php.
- Ottieni il token di accesso mediante codice di autenticazione utilizzando la funzione GetAccessToken () della classe GoogledRiveAPI.
- Invia e caricamento file su Google Drive utilizzando la funzione uploadFileToDrive () della classe GoogledRiveAPI.
- File di aggiornamento Meta Data in Google Drive utilizzando la funzione UpdateFileMeta () della classe GoogledRiveAPI.
- Aggiorna l’ID di riferimento del file di Google Drive nel database.
- Visualizza lo stato di caricamento del file con il collegamento di accesso al file di Google Drive.
// Includi la classe di gestori API di Google Drive
include_once 'GoogledRiveAPI.classe.php ';
// Includi il file di configurazione del database
requisito_once 'DBConfig.php ';
$ statusMsg = '';
$ status = 'Pericolo';
if (ISSET ($ _Get['codice'])) <
// Inizializza la classe API di Google Drive
$ Googledriveapa = nuovo Googledriveapi();
// Ottieni l'ID di riferimento del file dalla sessione
$ file_id = $ _Session['last_file_id'];
Se(!vuoto($ file_id) <
// recupero i dettagli del file dal database
$ sqlq = "Seleziona * da drive_files dove stile =" colore: #007700 ">;
$ stmt = $ db->preparare($ sqlq);
$ stmt->bind_param("io", $ db_file_id);
$ db_file_id = $ file_id;
$ stmt->eseguire();
$ risultato = $ stmt->get_result();
$ FILEDATA = $ risultato->fetch_assoc();
Se(!vuoto($ FILEDATA) <
$ file_name = $ FILEDATA['nome del file'];
$ target_file = 'Carica/'.$ file_name;
$ file_content = file_get_contents($ target_file);
$ mime_type = mime_content_type($ target_file);
// Ottieni il token di accesso
Se(!vuoto($ _Session['google_access_token'])) <
$ Access_Token = $ _Session['google_access_token'];
> altro <
$ dati = $ Googledriveapa->GetAccessToken(Google_Client_id, Redirect_uri, Google_Client_Secret, $ _Get['codice']);
$ Access_Token = $ dati['token di accesso'];
$ _Session['google_access_token'] = $ Access_Token;
>
Se(!vuoto($ Access_Token) <
Tentativo <
// Carica file su Google Drive
$ drive_file_id = $ Googledriveapa->UploadfiletoDrive($ Access_Token, $ file_content, $ mime_type);
Se($ drive_file_id) <
$ file_meta = array (
'nome' => basename($ file_name)
);
// Aggiorna i metadati dei file in Google Drive
$ drive_file_meta = $ Googledriveapa->Update fileMeta($ Access_Token, $ drive_file_id, $ file_meta);
Se($ drive_file_meta) <
// Aggiorna il riferimento del file di Google Drive nel database
$ sqlq = "Aggiorna drive_files Set Google_Drive_File_id =? Dove stile = "colore: #007700">;
$ stmt = $ db->preparare($ sqlq);
$ stmt->bind_param("Si", $ db_drive_file_id, $ db_file_id);
$ db_drive_file_id = $ drive_file_id;
$ db_file_id = $ file_id;
$ AGGIORNAMENTO = $ stmt->eseguire();
non settato($ _Session['last_file_id']);
non settato($ _Session['google_access_token']);
$ status = 'successo';
$ statusMsg = 'Il file è stato caricato su Google Drive correttamente!
'
;
$ statusMsg .= '.
$ drive_file_meta['id'".'"target =" _ blank ">'.$ drive_file_meta['nome'".'';
>
>
> catch (Eccezione $ e) <
$ statusMsg = $ e->getMessage();
>
> altro <
$ statusMsg = 'Impossibile recuperare il token di accesso!';
>
> altro <
$ statusMsg = 'Dati di file non trovati!';
>
> altro <
$ statusMsg = 'Riferimento file non trovato!';
>
$ _Session['status_response'] = array ('stato' => $ status, 'status_msg' => $ statusMsg);
intestazione("Posizione: indice.php ");
Uscita();
>
?>
Elenco di controllo per i test:
Verifica dell’applicazione di Google:
Google richiede la verifica dell’applicazione per utilizzare l’API. È necessario inviare la domanda di verifica per rendere pubblica Google Project.
In modalità di sviluppo, è possibile testarlo aggiungendo gli utenti di test nella schermata di consenso OAuth dell’applicazione Google.
Nella pagina delle credenziali client OAuth, fare clic su Schermata di consenso di Oauth collegamento.


Conclusione
Carica file su Google Drive con API REST è molto utile quando si desidera caricare immagini o documentare i file su Google Drive dinamicamente dal sito Web. IL Php Curl Le funzioni aiutano a chiamare l’API REST per accedere all’API di Google Drive dallo script. Non solo caricamento dei file, ma è anche possibile creare cartelle, visualizzare/aggiornare/eliminare file utilizzando Google Drive API e PHP. Se si desidera salvare Scape sul server, i file possono essere caricati su Google Drive e il riferimento può essere utilizzato per accedere ai file da Google Drive.
Vuoi ottenere aiuto per l’implementazione o modificare o migliorare la funzionalità di questo script? Clicca qui per inviare la richiesta di servizio
Se hai domande su questo script, invialo alla nostra comunità di QA, fai domanda
Semplice come integrare l’API di Google Drive con PHP. 2

Vuoi integrare l’API di Google Drive con PHP? In questo tutorial esamineremo come integrare semplicemente l’API di Google Drive con PHP. Se vuoi integrare il tuo script PHP sul tuo account Google Drive non lo fa’deve essere difficile. In effetti, usando la libreria client PHP può essere abbastanza stretto. In questo post esamineremo come creare un semplice script progettato per essere eseguito su un server. Non questo codice non verrà eseguito come un’applicazione Web. Questo è solo uno script di console.
- 1 Crea credenziali di app installate
- 2 compositore
- 3 autorizzazione
- 4 API di Google Drive con PHP
- 5. conclusione
Crea credenziali di app installate
La prima cosa di cui avrai bisogno è creare un creditizio.file json. Questo può essere creato su Google Cloud Console Assicurati di creare credenziali native.
Compositore
Dovrai installare la libreria client PHP Questo può essere fatto utilizzando il compositore. Le istruzioni per questo sono disponibili sulla libreria client PHP di Google PHP Readme. Ti consiglio di verificare il numero di versione più recente sul repository dei pacchetti PHP
Il compositore richiede Google/Apiclient:^2.12.1
Autorizzazione
Questo codice è progettato per archiviare l’autorizzazione dell’utente all’interno di un file chiamato token.JSON. Dopo aver autorizzato l’app una volta che un token di aggiornamento verrà archiviato lì. Quindi quando l’app viene eseguita, sarà in grado di utilizzare il token di aggiornamento per richiedere un nuovo token di accesso per accedere al tuo account Google Drive.
I token di aggiornamento di avvertimento scadranno dopo sette giorni mentre il progetto è impostato per i test in Google Cloud Console. Vai alla schermata OAuth e impostalo in produzione e il token di aggiornamento smetterà di scadere.
https: // sviluppatori.Google.com/Identity/Protocols/OAuth2#ESPIRAZIONE
La sezione del codice che gestisce l’autorizzazione per noi è la seguente
$ authurl = $ client-> createAuthurl ();
printf ("Apri il seguente link nel browser: \ n%s \ n", $ authurl);
stampare il codice di verifica e immettere: ';
$ AUTHCODE = TRIM (FGETS (Stdin));
// Codice di autorizzazione di scambio per un token di accesso.
$ AccessToken = $ Client-> fetCaccessTokenWithaUthCode ($ AuthCode);
$ client-> setAccessToken ($ AccessToken);
Copia il link di autorizzazione e posizionalo in qualsiasi browser web. Autorizzare la domanda. Vedrai un errore 400 nella finestra del browser quando è completo ignora questo. Ciò è dovuto alla rimozione di OOB. Se guardi la barra dell’URL all’interno di quella stringa restituita è un codice. http: // localhost/?codice =4/0ax4xfwgu3p6qheogz7nitcltydt3tf_bv-a1ki4uoem0czphixrpd8tenluxta-skflla& Scope = https: // www.Googleapis.com/auth/drive.Leadonly è questo codice che aggiungi alla tua applicazione. Puoi usare il codice solo una volta.
Il codice prenderà quindi un token di accesso con questo codice di autorizzazione.
Utilizzando il seguente codice memorizziamo il token restituito nel token.file json per un uso successivo
// Salva il token in un file.
Se (!file_exists (dirname ($ tokenpath))) mkdir (dirname ($ tokenpath), 0700, true);
>
file_put_contents ($ tokenpath, json_encode ($ client-> getAccessToken ()));
I token di aggiornamento di avvertimento scadranno dopo sette giorni mentre il progetto è impostato per i test in Google Cloud Console. Vai alla schermata OAuth e impostalo in produzione e il token di aggiornamento smetterà di scadere.
https: // sviluppatori.Google.com/Identity/Protocols/OAuth2#ESPIRAZIONE
API di Google Drive con PHP
Ora che la tua app è autorizzata, puoi chiamare l’API di Google Drive. Ricorda solo che ogni metodo ha uno o più ambiti richiesti per accedere a quel metodo. Puoi trovare l’ambito necessario all’interno della documentazione per ciascun metodo. Per esempio file.L’elenco ti mostrerà da quale ambito devi aver richiesto l’autorizzazione. In questo script chiedo solo l’ambito di lettura solo, il che significa che se provi a fare un file.Crea non funzionerà. Se cambi l’ambito in questo script, ricorda di eliminare il token.file json in modo che lo script richieda nuovamente l’autorizzazione dell’utente.
richiedere __Dir__ . ‘/fornitore/caricamento automatico.php ‘;
if (php_sapi_name () != ‘cli’) lancia una nuova eccezione (‘Questa applicazione deve essere eseguita sulla riga di comando.’);
>
Usa Google \ Client;
Usa Google \ Service \ Drive;
/** * Restituisce un client API autorizzato. * @ritorno Cliente L’oggetto client autorizzato */ funzione getClient ()
$ client = new client ();
$ Client-> setaPplicationName (“Google Drive API PHP QuickStart”);
$ client-> setScopes (‘https: // www.Googleapis.com/auth/drive.sola lettura’);
$ client-> setauthconfig (‘c: \ youtube \ dev \ credenziali.json ‘);
$ client-> setAccessType (‘offline’);
$ client-> setredirecturi (“http: // 127.0.0.1 “);
$ client-> setPrompt (‘Select_Account Consent’);
// Carica token precedentemente autorizzato da un file, se esiste.
// il token del file.JSON memorizza l’accesso e i token di aggiornamento dell’utente ed è
// ha creato automaticamente quando il flusso di autorizzazione è completato per il primo
// tempo.
$ tokenpath = ‘token.json ‘;
if (file_exists ($ tokenpath)) $ accessToken = json_decode (file_get_contents ($ tokenpath), true);
$ client-> setAccessToken ($ AccessToken);
>
// Se non esiste un token precedente o è scaduto.
if ($ client-> isAccessToKenexPired ()) // Aggiorna il token se possibile, altrimenti prenderne uno nuovo.
if ($ client-> getRefreshToken ()) $ client-> fetCaccessTokenWithRefreshToken ($ Client-> getRefreshToken ());
> Else // richiedi autorizzazione dall’utente.
$ authurl = $ client-> createAuthurl ();
printf (“Apri il seguente link nel browser: \ n%s \ n”, $ authurl);
stampare il codice di verifica e immettere: ‘;
$ AUTHCODE = TRIM (FGETS (Stdin));
// Codice di autorizzazione di scambio per un token di accesso.
$ AccessToken = $ Client-> fetCaccessTokenWithaUthCode ($ AuthCode);
$ client-> setAccessToken ($ AccessToken);
// controlla per vedere se si è verificato un errore.
if (array_key_exists (‘errore’, $ accessToken)) lancia una nuova eccezione (join (‘,’, $ accessToken));
>
>
// Salva il token in un file.
Se (!file_exists (dirname ($ tokenpath))) mkdir (dirname ($ tokenpath), 0700, true);
>
file_put_contents ($ tokenpath, json_encode ($ client-> getAccessToken ()));
>
restituire $ client;
>
// Ottieni il client API e costruisci l’oggetto di servizio.
$ client = getClient ();
$ Service = new Drive ($ client);
// Stampa i prossimi 10 eventi sul calendario dell’utente.
Tentativo
$ optParams = array (
‘PageSize’ => 10,
‘Fields’ => ‘Files (ID, Nome, MimeType)’,
‘q’ => ‘mimeType = “Application/VND.Google-Apps.cartella “e” root “nei genitori ‘,
‘orderby’ => ‘name’
);
$ risultati = $ servizi-> file-> listfiles ($ optparams);
$ file = $ risultati-> getFiles ();
if (vuoto ($ file)) stampare “Nessun file trovato.\N”;
> else stampa “file: \ n”;
foreach ($ file come $ file) $ id = $ file-> id;
printf (“%s-(%s)-(%s) \ n”, $ file-> getid (), $ file-> getname (), $ file-> getmimeType ());
>
>
>
cattura (eccezione $ e) // TODO (sviluppatore) – Gestire l’errore eco opportunamente “: .$ e-> getMessage ();
>
Conclusione
L’autorizzazione del tuo script PHP a connettersi all’API di Google Drive è abbastanza semplice una volta che hai il codice. L’uso della libreria client PHP e consentirgli di gestire tutta l’autorizzazione per noi rende la nostra vita molto più facile.
Ricorda di creare credenziali di app installate per eseguire questo script. Ho un video che mostra come. Ricorda solo di abilitare l’API di Google Drive in Biblioteca
Articoli correlati:
- Semplice come integrare PHP con Google Analytics Admin API.
- Apis di Google Auth semplice
- Semplice come caricare file su google drive con go lang.
- Autenticazione di Google con Curl
Spostare una pagina Web statica da Google Drive a un ambiente per il PHP?
Google Drive rende Live abbastanza semplice, dal momento che posso creare file a livello locale e si occupa della sincronizzazione.
Cosa consiglieresti di guardare/cercare?
19.9k 6 6 badge d’oro 51 51 badge d’argento 99 99 badge di bronzo
Chiesto l’8 maggio 2014 alle 17:20
1.135 10 10 badge d’argento 19 19 badge in bronzo
Una semplice query di Google “Google Drive PHP” porta a questo documento di Google: Supporto.Google.com/drive/risposta/2881970?hl = en che afferma chiaramente: nessun PHP. Potresti aver bisogno di lavorare sulla tua definizione di “Over Over”
9 maggio 2014 alle 0:48
Solo questa non è la mia domanda. Che in qualche modo sono chiaro.. Ho bisogno di alternativa
9 maggio 2014 alle 5:48
3 risposte 3
Prima cosa, lo scripting lato server non è consentito dall’unità. Anche se su Google, puoi utilizzare Google App Engine per scopi di script. Molte altre lingue sono ora supportate qui, come Go, Php, Python e Java. Puoi imparare il motore dell’app.
Seconda cosa, per ottenere un’esperienza di hosting migliore, acquistare un po ‘di spazio server. A fini di apprendimento, puoi iscriverti a molti servizi di hosting gratuiti. Successivamente passa alla versione a pagamento.
25.3k 15 15 badge d’oro 91 91 badge d’argento 178 178 badge di bronzo
Risposta l’8 maggio 2014 alle 17:31
cprakashagr cprakashagr
751 11 11 badge d’argento 28 28 badge in bronzo
Google Drive non è fatto per quello che stai cercando di fare.
Potresti voler esaminare Google Cloud o Google App Engine.
Risposta l’8 maggio 2014 alle 17:24
4.843 9 9 badge d’oro 50 50 badge d’argento 93 93 badge di bronzo
Google Cloud è nuovo per me.. I siti host di Google Cloud possono fare come fare Google Drive?
8 maggio 2014 alle 17:30
Google Drive non può ospitare siti Web. Documenti e altri contenuti statici ma nulla di dinamico. Dovresti davvero andare con una società di hosting. Cerca hosting condivisi che è ciò di cui hai bisogno.
8 maggio 2014 alle 17:33
NO.. Google Drive può ospitare anche l’intero sito Web in una cartella. Ma dovrebbe essere statico. Non dinamico come dici e limitato con la dimensione dell’unità
8 maggio 2014 alle 17:38
Google Drive semplicemente non consente PHP. È indicato [nella documentazione] (https: // support.Google.com/drive/risposta/2881970?hl = en), che è il primo link quando si è “google drive php”
Per eseguire il codice sui file ospitati su Google, è necessario utilizzare il motore di app Google. Gestisce Php, Java, Python, Go.
Ma potrebbe non essere quello che stai cercando. L’uso di un classico sito Web Hoster potrebbe essere l’approccio migliore
Risposta l’8 maggio 2014 alle 17:24
19.9k 6 6 badge d’oro 51 51 badge d’argento 99 99 badge di bronzo
Ho il mio sito in Google Drive per temporaneo. Potresti piacere a fare qualche riferimento a, come posso integrarmi con l’unità?
8 maggio 2014 alle 17:28
Potrebbe essere meglio se mi chiedessi di cercare “Apis di Google” (questo è ciò di cui avevo bisogno) piuttosto che te ne sei andato per questo link e abbreviarlo.
8 maggio 2014 alle 17:41
Grazie per il calo di una risposta accurata per un commento sfacciato 🙂 Hai bisogno di un normale hosting di siti web. Cercare di attenersi a Google Drive ti richiederà più tempo. Anche come regola generale: chiedere “come faccio a farlo” senza aver indagato i riferimenti forniti non è considerato adatto alla comunità. Presumendo che tu l’abbia fatto, sarebbe utile dichiarare qualcosa come “Ho dato un’occhiata a link, link, link ma ancora non so/capisci” ecc. Solo chiedendo crea l’impressione di un freeloader. Leggi l’etichetta del sito per maggiori informazioni
9 maggio 2014 alle 0:44
Il voto non sono io. Prima di chiedermi di vedere la regola del sito, vedi la mia reputazione. Il voto del down richiede 125 reputazione. Non posso farlo. Non lo farò. È un altro. Penso che anche tu abbia bisogno di studiarlo
