Seguendo pochi passaggi, questa è un libero adattamento e traduzione di una pagina di spiegazioni di Google. la pagina originale è in questo Link
Per eseguire questo tutorial è necessario possedere un account Google oltre ad una versione di Python uguale o superiore alla 2.6.
Cliccare su questo bottone per creare un nuovo progetto Cloud Platform project and automatically abilitare le API Google Sheet:
Cliccare su DOWNLOAD CLIENT CONFIGURATION e salvare il file credentials.json
nella directory di lavoro (quella in cui è presente il sorgente).
Per installare la libreria usare il seguente comando:
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
Creare un file chiamato quickstart.py
nella directory di lavoro e copiare il seguente codice.
from __future__ import print_function import pickle import os.path from googleapiclient.discovery import build from google_auth_oauthlib.flow import InstalledAppFlow from google.auth.transport.requests import Request # SCOPES indica come si è autorizzati ad accedere al file, in questo caso: sola lettura, se si modificano le autorizzazioni rimuovere il file token.pickle che si genera automaticamente. SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly'] # Questo è l'ID fi un foglio di esempio di google ma si può inserire l'ID di un proprio foglio di drive. SAMPLE_SPREADSHEET_ID = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms' # E' il range del foglio da cui si leggono i dati, in questo caso dalla seconda riga le colonne A B C D ed E SAMPLE_RANGE_NAME = 'Class Data!A2:E' def main(): """Shows basic usage of the Sheets API. Stampa i valori di un foglio di esempio di Google, ma come descritto sopra si può utilizzare un proprio foglio. """ creds = None # The file token.pickle stores the user's access and refresh tokens, and is # created automatically when the authorization flow completes for the first # time. if os.path.exists('token.pickle'): with open('token.pickle', 'rb') as token: creds = pickle.load(token) # Se non ci sono credenziali valide di Google, Fà autenticare l'utente. if not creds or not creds.valid: if creds and creds.expired and creds.refresh_token: creds.refresh(Request()) else: flow = InstalledAppFlow.from_client_secrets_file( 'credentials.json', SCOPES) creds = flow.run_local_server(port=0) # Save the credentials for the next run with open('token.pickle', 'wb') as token: pickle.dump(creds, token) service = build('sheets', 'v4', credentials=creds) # Richiama le API del foglio di lavoro sheet = service.spreadsheets() result = sheet.values().get(spreadsheetId=SAMPLE_SPREADSHEET_ID, range=SAMPLE_RANGE_NAME).execute() values = result.get('values', []) if not values: print('No data found.') else: print('Name, Major:') for row in values: # Scrive le colonne A ed E, che corrispondono agli indici 0 e 4. print('%s, %s' % (row[0], row[4])) if __name__ == '__main__': main()