我正在尝试使用 gspread Python 库使用 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 对象。我如何获得它?
一个例子会很有帮助。
最佳答案
在开发人员控制台中,( https://console.developers.google.com ) 转到 APIs & auth > Credentials 并单击创建新的客户端 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
中的第二个参数
还要确保 app.yaml
库部分包含 pycrypto
libraries:
- name: pycrypto
version: "2.6"
我从某人那里得到了这个非常有帮助的 tutorial
关于python - 将 gspread 与 OAuth2 SignedJwtAssertionCredentials 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27011486/