我正在尝试使用gpread和python来编辑谷歌电子表格。我遵循了本教程:http://gspread.readthedocs.org/en/latest/oauth2.html 当我运行我的代码时,它说没有名为oauth2client.client的模块。我是否需要安装其他东西才能使其正常工作?
更新 这是我的代码:
import json
import gspread
from oauth2client.client import SignedJwtAssertionCredentials
json_key = json.load(open('GraduationCash-c4b4c0667c75.json'))
scope = ['https://spreadsheets.google.com/feeds']
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)
gc = gspread.authorize(credentials)
wks = gc.open("Where is the money Lebowski?").sheet1
raw_input()
另外我应该提到我在Windows 8上,所以那些命令不起作用。它仍然说没有加密库可用
答案 0 :(得分:2)
是的,您必须安装OAuth客户端library:
$ pip install --upgrade oauth2client
当然,您总是可以从源代码安装,也很好:
$ git clone https://github.com/google/oauth2client
$ cd oauth2client
$ python setup.py install
注意强> 如果您收到“ No crypto library available ”之类的错误:
$ apt-get install python-openssl
或
$ pip install PyOpenSSL
答案 1 :(得分:2)
我没有使用SignedJwtAssertionCredentials,而是使用了GoogleCredentials。
我在下面的代码中取得了成功。我必须在Google Developer网站here上创建一个帐户。从那里,转到API Manager> Google Apps API>启动API,然后启用API。然后选择凭据>新证书>服务帐户密钥。此时,将密钥下载为JSON并将其存储在安全的地方。复制JSON文件中的电子邮件地址,并将其添加到要访问的工作表中。
import gspread
from oauth2client.client import GoogleCredentials
credentials = GoogleCredentials.get_application_default()
credentials = credentials.create_scoped(['https://spreadsheets.google.com/feeds'])
gs = gspread.authorize(credentials)
sheet = gs.open('Testing').worksheet('Sheet1')
list_of_lists = sheet.get_all_values()
print(list_of_lists)