0

我正在尝试使用 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 上,所以这些命令不起作用。它仍然说没有可用的加密库

4

2 回答 2

2

是的,您必须安装 OAuth 客户端

$ pip install --upgrade oauth2client

当然,你总是可以从源代码安装,也很好:

$ git clone https://github.com/google/oauth2client 
$ cd oauth2client 
$ python setup.py install

注意 intall 后,如果您收到类似“ No crypto library available ”之类的错误:

$ apt-get install python-openssl 

或者

$ pip install PyOpenSSL
于 2015-05-09T14:51:20.360 回答
2

我没有使用 SignedJwtAssertionCredentials,而是使用了 GoogleCredentials。

我在下面的代码中取得了成功。我必须在这里的 Google Developer 网站上创建一个帐户。从那里,转到 API Manager > Google Apps API > Drive 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)
于 2016-01-05T03:07:59.107 回答