将gspread与OAuth2 SignedJwtAssertionCredentials一起使用

时间:2014-11-19 07:41:30

标签: python python-2.7 oauth-2.0 google-oauth gspread

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

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

根据Gspread Docs,我需要一个SIGNED_KEY对象。我该怎么做?

一个例子非常有帮助。

1 个答案:

答案 0 :(得分:3)

在开发者控制台中,(https://console.developers.google.com)转到API& auth>凭据并单击“创建新客户端ID”,然后选择“服务帐户”。您的浏览器应该下载.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

中的第二个arg

另请确保app.yaml图书馆部分包含pycrypto

libraries:
- name: pycrypto
  version: "2.6"

我从某人非常有帮助的tutorial

那里得到了这个