J'essaie d'écrire des données de capteur sur une feuille google. J'ai pu écrire sur cette même feuille il y a environ un an, mais je suis de nouveau actif sur ce projet et je n'arrive pas à le faire fonctionner. Je crois que le Oauth a changé et j'ai mis à jour mon code pour ce changement.Les données gspread n'apparaissent pas dans Google Sheet
Dans le code ci-dessous, je reçois aucune erreur, cependant aucune donnée dans le GoogleSheet entré. De plus, si je consulte GoogleSheets, la date de "dernière ouverture" ne reflète pas l'heure à laquelle mon programme devrait/devrait écrire sur cette feuille Google. J'ai essayé de nombreuses variations et je suis juste coincé. Toute suggestion serait appréciée.
#!/usr/bin/python3
#-- developed with Python 3.4.2
# External Resources
import time
import sys
import json
import gspread
from oauth2client.service_account import ServiceAccountCredentials
import traceback
# Initialize gspread
scope = ['https://spreadsheets.google.com/feeds']
credentials = ServiceAccountCredentials.from_json_keyfile_name('MyGoogleCode.json',scope)
client = gspread.authorize(credentials)
# Start loop ________________________________________________________________
samplecount = 1
while True:
data_time = (time.strftime("%Y-%m-%d %H:%M:%S"))
row = ([samplecount,data_time])
# Append to Google sheet_
try:
if credentials is None or credentials.invalid:
credentials.refresh(httplib2.Http())
GoogleDataFile = client.open('DataLogger')
#wks = GoogleDataFile.get_worksheet(1)
wks = GoogleDataFile.get_worksheet(1)
wks.append_row([samplecount,data_time])
print("worksheets", GoogleDataFile.worksheets()) #prints ID for both sheets
except Exception as e:
traceback.print_exc()
print ("samplecount ", samplecount, row)
samplecount += 1
time.sleep(5)