Raspberry Pi使用gspread打开和关闭“invalid_grant:无效的JWT签名”

时间:2017-03-01 16:15:03

标签: python google-api oauth-2.0 raspberry-pi gspread

我是python的新手,并且已经与gspread合作了几个月并继续使用它然后第二天出现错误!

我有一个RFID模块将数据发送到谷歌表。有时谷歌API会接受这些数据,有时它却没有,我现在搜索了几天之后真的无法弄清楚解决方案(撕掉我的头发)。

我正在使用Raspberry Pi 3,python 2.7和gspread发送到谷歌驱动器API,其中信息记录在谷歌文档中。我已经将ntp服务器重置为本地服务器,所以时间是正确的,我甚至在白天设置了一个cron reboot,看它是否会刷新弹出的任何错误。我在pi的桌面上有.py文件和.json。

这是我的错误:“HttpAccessTokenRefreshError:invalid_grant:无效的JWT签名。”

代码如下。感谢您的任何帮助或建议:)

import serial
import re
import time
import gspread
import json

from oauth2client.service_account import ServiceAccountCredentials

pattern = r"(\d+\.\d*)_(\d+\.\d*)\r\n"enter code here
#port = '/dev/ttyACM1'
port2 = "/dev/ttyACM0" 
scope = ['https://spreadsheets.google.com/feeds']

credentials = ServiceAccountCredentials.from_json_keyfile_name('My Project-xxxxxxxxxxxx.json', scope)
ser = serial.Serial(port2, 115200, timeout = 1)

if ser.isOpen():
    print "connected"

    while True:
        line = ser.readline()
        if len(line) > 2: 
            m = re.match(pattern, line)
            tableline = [str(time.strftime("%d/%m/%Y")), str(time.strftime("%H:%M:%S")), line]# previously m.group(1), m.group(2)
            gc = gspread.authorize(credentials)
            wks = gc.open("example").sheet1
            wks.append_row(tableline)

            print (tableline)
            time.sleep(30)
        else:
                time.sleep(1)

    else:
                    print ("Failure opening serial port at " + port)

0 个答案:

没有答案