【发布时间】:2015-10-07 17:53:12
【问题描述】:
我正在尝试从某些目标用户每天都可以看到的服务器更新 Google 电子表格。这是我尝试过的:
在“console.developers.google.com”中创建一个项目,然后选择“驱动 API”->“凭据”->“添加凭据”->“服务帐户”->“创建 Json 文件”
现在有了这个 JSON 文件 (project name-e4sdfsdsdf0c.json),我尝试访问电子表格。
import gdata.spreadsheet.service
import gdata.service
import urlparse
import httplib2
from oauth2client.file import Storage
from oauth2client.client import flow_from_clientsecrets
from oauth2client import tools
spreadsheet_key = '13jQtgSUXKBExMvZjECf6sdfsfgLfmRFVmZw6t7hYyX3g0'
storage = Storage("creds.dat")
credentials = storage.get()
if credentials is None or credentials.invalid:
credentials = tools.run_flow(flow_from_clientsecrets("project name-e4sdfsdsdf0c.json", scope=["https://spreadsheets.google.com/feeds"]), storage)
if credentials.access_token_expired:
credentials.refresh(httplib2.Http())
spr_client = gdata.spreadsheet.service.SpreadsheetsService(
additional_headers={'Authorization' : 'Bearer %s' % credentials.access_token})
worksheets = spr_client.GetSpreadsheetsFeed(spreadsheet_key)
print worksheets.title
但我收到此错误:
文件格式无效。请参阅https://developers.google.com/api-client-library/python/guide/aaa_client_secrets 需要一个 JSON 对象,该对象具有“网络”或“已安装”应用程序的单个属性”
【问题讨论】:
-
决定使用 gspread + oauth2client。这要容易得多。
标签: python google-apps-script google-sheets server