Um Daten, die in einem Google Sheets Dokument verwaltet werden, dynamisch abrufen oder ändern zu können, bietet es sich an die von Google bereitgestellten Dienste zu nutzen und eine Schnittstelle einzubauen. Im Folgenden wird erklärt, wie eine solche API aufgebaut werden kann, um diese dann mit Python anzusprechen.
Unter Dashboard können nun verschiedene Metriken der API überwacht werden.
Wichtig ist es nun, dem neu erstellten Service Account Zugriff auf das zu bearbeitende Dokument zu gewähren. Dazu findet sich in der heruntergeladenen JSON Datei eine Emailadresse ‘client_email’, welcher mithilfe des Teilen Knopf im Google Sheets Dokument Bearbeitungsrechte zugewiesen werden müssen.
Die API ist bereit. Um diese nun mit Python anzuprechen, benötigt man die Packages gspread und oauth2client
pip install gspread oauth2client
Um nun z.B. alle Daten eines Sheet auszugeben, ist nicht viel Code notwendig.
import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json', scope)
client = gspread.authorize(creds)
sheet = client.open("NAME_DES_DOKUMENT").worksheet("NAME_DES_WORKSHEET")
list_of_hashes = sheet.get_all_records()
print(list_of_hashes)
11 Jun 2019 #Logging #Python #Google Sheets #Reporting #API