Anche se Google App Engine e Google Drive sono entrambi prodotti Google, purtroppo non sono direttamente collegati. Le API di Google Drive sono accessibili dalla libreria google-api-python-client
, che devi installare.
Il processo può essere trovato alla Python Google Drive API Quickstart Guide, e la forma di sintesi è la seguente:
Da parte di Google: Consenti unità API di accesso per il vostro programma GAE
- Activate Drive API. Fare clic sul Vai alle credenziali tasto per continuare ...
- Crea il tuo schermo consenso: Imposta il tuo consenso schermo OAuth come Google lancerà strani errori se questo non è stato impostato:
- Click consenso sulla schermata OAuth scheda
- Selezionare un indirizzo e-mail e immettere un nome prodotto.
- Get credenziali:
- Cliccando il Credenziali scheda
- Selezionare aggiungere le credenziali e poi OAuth 2.0 client ID. Scegli il tipo di applicazione e inserisci i dettagli pertinenti. Puoi cambiarli più tardi!
- Nella scheda Credenziali, scaricare le credenziali JSON (completamente a destra nella tabella, il pulsante di download viene visualizzato solo quando si passa con il mouse su di esso). Rinominarlo
client_secret.json
e posizionarlo nella directory del codice radice. Sarà necessario per richiedere credenziali dagli utenti.
Dalla vostra parte: Download the google-api-python-client
library, decomprimere nella directory di codice ed eseguire python setup.py install
. Questo installerà la libreria che contiene molte API del prodotto Google.
Ora sei pronto per utilizzare l'API di Drive. Puoi verificare il tuo accesso utilizzando sample code. Leggilo perché è una buona guida per scrivere il tuo codice! Se si accede ai dati dell'utente, sarà necessario richiedere le credenziali dell'utente quando accedono e molto probabilmente li memorizzano.Quindi, per utilizzare l'API, il modo più semplice sarebbe quella di ottenere l'oggetto service
:
import httplib2
from apiclient import discovery
credentials = get_credentials() #Your function to request/access stored credentials
#Authorise access to Drive using the user's credentials
http = credentials.authorise(httplib2.Http())
#The service object is the gateway to your API functions
service = discovery.build('drive', 'v2', http=http)
#Run your requests using the service object. e.g. list first 10 files:
results = service.files().list(maxResults=10).execute()
# ... etc ... Do something with results
Sopra frammento di codice viene modificato da sample code.
L'API di riferimento per Google Drive può essere found here.
La stessa procedura generale è necessaria per collegare GAE ad altre API di prodotti Google, ad es. Calendario. Tutto il meglio per scrivere il tuo programma!
"DrEdit è un'applicazione Web scritta su Google App Engine in Python". Che cosa c'è che non va? https://developers.google.com/drive/examples/python –
Questa domanda: http://stackoverflow.com/questions/15454708/accessing-google-drive-from-a-google-app-engine-python-app ha il commento "Grazie, ci ho provato, ho anche provato DrEdit su developers.google.com/drive/examples/python (mi ci sono volute ore di lavoro per capire che non aveva nulla a che fare con le mie esigenze)". DrEdit è un'app per Google Drive, ovvero l'aggiunta di funzionalità a Google Drive. Voglio solo leggere Drive da GAE. Guardo di nuovo DrEdit, da qualche parte c'è probabilmente l'informazione che mi serve ... – cbootle
DrEdit contiene tutte le informazioni necessarie sull'installazione. Tuttavia, come molte app di esempio, è piuttosto complesso. Se qualcuno incontra questo thread e ha solo il cablaggio di base di un'app Drive-Api, sarebbe molto utile. – rGil