Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将gspread与OAuth2 SignedJwtAssertionCredentials一起使用_Python_Python 2.7_Oauth 2.0_Google Oauth_Gspread - Fatal编程技术网

Python 将gspread与OAuth2 SignedJwtAssertionCredentials一起使用

Python 将gspread与OAuth2 SignedJwtAssertionCredentials一起使用,python,python-2.7,oauth-2.0,google-oauth,gspread,Python,Python 2.7,Oauth 2.0,Google Oauth,Gspread,我正在尝试使用gspread Python库使用oauth2访问我的google电子表格。我是oauth2新手,了解它的优点。但我无法使用它。到目前为止,我已经访问并生成了客户端ID、机密和重定向URI credentials = SignedJwtAssertionCredentials('developer@example.com', SIGNED_KEY, scope) 根据Gspread,我需要一个签名的密钥对象。我如何获得它 一个示例将非常有用。在开发人员控制台中,()转到API&a

我正在尝试使用gspread Python库使用oauth2访问我的google电子表格。我是oauth2新手,了解它的优点。但我无法使用它。到目前为止,我已经访问并生成了客户端ID、机密和重定向URI

credentials = SignedJwtAssertionCredentials('developer@example.com', SIGNED_KEY, scope)
根据Gspread,我需要一个签名的密钥对象。我如何获得它

一个示例将非常有用。

在开发人员控制台中,()转到API&auth>凭据,单击创建新的客户端ID,然后选择服务帐户。您的浏览器应该下载一个.p12文件。现在,通过在命令行中执行以下操作,将其转换为PEM for GAE:

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
libraries部分包括
pycrypto

libraries:
- name: pycrypto
  version: "2.6"

我是从一位非常有帮助的人那里得到的

我需要为此注册一个应用程序引擎应用程序吗?我不打算将此应用程序移植到GAE。这将在我的个人计算机上运行。在开发控制台中,看起来您至少需要创建一个新项目,然后创建一个服务帐户/激活您希望使用的API。我不知道除了创建一个服务帐户之外,是否还有其他方法可以从Google获取.p12文件。我只是尝试了这个方法,似乎Google现在默认返回一个带有凭据的json文件……但是,一旦创建了客户端id,就会出现一个下载.p12文件的按钮