Esempio di account di servizio Python dell'API di Google Drive
È possibile eseguire l'autenticazione con l'API di Google Drive utilizzando un account di servizio Google, anziché un flusso OAuth?
Gli esempi Python per Google Drive utilizzano OAuth - Google drive Python Quick start
Tuttavia non riesco a trovare alcun esempio di account di servizio.
La maggior parte del altro uso delle API di Google I (Traduci, Vision Cloud) fare uso account servizio però, quindi mi piacerebbe deprecare il mio codice di Google Drive OAuth per coerenza.
Risposte
Il miglior esempio di python di account di servizio che conosco è quello per Google Analytics
Dovrebbe essere qualcosa del genere.
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
SCOPES = ['https://www.googleapis.com/auth/drive.readonly']
KEY_FILE_LOCATION = '<REPLACE_WITH_JSON_FILE>'
VIEW_ID = '<REPLACE_WITH_VIEW_ID>'
def initialize_drive():
"""Initializes an service object.
Returns:
An authorized service object.
"""
creds = ServiceAccountCredentials.from_json_keyfile_name(
KEY_FILE_LOCATION, SCOPES)
# Build the service object.
service = build('drive', 'v3', credentials=creds)
return service
Una volta ottenuto il servizio di azionamento, dovresti essere in grado di utilizzare il resto del codice che hai dall'altro tutorial. È solo il metodo di autenticazione che è diverso.
Ricorda solo di creare le credenziali dell'account di servizio e non le credenziali Oauth.