我已经讨论了一段时间,并且无法在Google开发者控制台中了解如何获取我自动创建的服务帐户的公钥/私钥。
我正在编写一个python脚本,使用谷歌电子表格中的gspread导入数据,并通过SignedJwtAssertionCredentials
验证自己我需要一个现有的服务帐户
问题是:
我使用以下方法创建一个新项目: "Create a project"
但是当我转到权限/权限时,我发现the service account I need已经创建,但我没有密钥。
我想知道如何获取@developer.gserviceaccount.com
密钥,因为我已经尝试使用我的其他@xxx-22324.iam.gserviceaccount.com
从谷歌电子表格导入数据而没有运气,它说电子邮件地址不存在。
修改
每当我转到API Manager / Credentials时,我只能为@mxxx-22324.iam.gserviceaccount.com
生成一个密钥(我无法使用的那个)
答案 0 :(得分:0)
我解决了我的问题:
Google已更新其服务帐户详细信息格式,以及与服务帐户共享电子表格的方式,以便可以从gspread访问它们。
我创建了一个新的格式化服务帐户:xxx@montredo-22324.iam.gserviceaccount.com并设置谷歌生成的完全相同的文件作为JSON供我的应用程序读取:
login = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)
然后在没有通知的情况下共享电子表格和我的服务帐户电子邮件(我刚才提到的JSON文件中的相同)
瞧。