3

我正在尝试使用 gspread Python 库使用 oauth2 访问我的谷歌电子表格。我是 Oauth2 的新手并了解它的好处。但我无法使用它。到目前为止,我已经访问了https://code.google.com/apis /console/并生成 CLIENT ID、SECRET 和 REDIRECT URI。

credentials = SignedJwtAssertionCredentials('developer@example.com', SIGNED_KEY, scope)

根据 Gspread Docs,我需要一个 SIGNED_KEY 对象。我如何得到它?

一个例子会很有帮助。

4

1 回答 1

3

在开发者控制台 ( https://console.developers.google.com ) 中,转到 APIs & auth > Credentials 并单击 Create new Client ID,然后选择 Service Account。您的浏览器应该下载一个 .p12 文件。现在通过在命令行中执行以下操作将其转换为 GAE 的 PEM:

openssl pkcs12 -passin pass:notasecret -in privatekey.p12 -nocerts -passout pass:notasecret -out key.pem
openssl pkcs8 -nocrypt -in key.pem -passin pass:notasecret -topk8 -out privatekey.pem

然后,您必须将 PEM 移动到您的应用程序目录,在您的应用程序代码中打开它,然后将其用作第二个参数SignedJwtAssertionCredentials

还要确保app.yaml库部分包括pycrypto

libraries:
- name: pycrypto
  version: "2.6"

我从某人的非常有用的教程中得到了这个

于 2014-11-19T08:42:52.913 回答