SCOPES_SHEETS = 'https://www.googleapis.com/auth/spreadsheets'
赋予读/写权限^
def main():
service_sheets = get_google_service('sheets', 'v4', 'token_sheets.json', SCOPES_SHEETS)
with open('services.pkl', 'wb') as f:
pickle.dump(service_sheets, f)
with open('services.pkl', 'rb') as f:
service_sheets = pickle.load(f)
with open('serviceCopy.pkl', 'wb') as f:
pickle.dump(service_sheets, f)
def get_google_service(type, version, token, scope):
store = file.Storage(token)
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('credentials.json', scope)
creds = tools.run_flow(flow, store)
return build(type, version, http=creds.authorize(Http()))
我有一个要在后台作为服务运行的程序。它涉及在Google表格中读取/写入内容。为此,我必须创建一个Google服务,但我不想每次运行代码时都必须这样做,所以我尝试将服务对象存储在文件中。由于某些原因,文件service.pkl
与serviceCopy.pkl
不同。我尝试过更改pickle.load(file, encoding='utf8')
的编码,但是我一直在获取不匹配的文件。
据我了解,它们应该完全相同。
我认为问题在于加载保存的文件,但是我不确定是什么原因造成的。
我正在使用python 3.6。