gpt4 book ai didi

python - 与服务帐户电子邮件共享 Google 表格

转载 作者:太空狗 更新时间:2023-10-30 02:43:03 25 4
gpt4 key购买 nike

我编写了一个脚本来连接到 Google 电子表格并将数据从中加载到 postgresql 数据库中。我已经创建了一个服务帐户并以 .json 格式为其获取了必要的凭据,问题是当我尝试与我的服务帐户电子邮件共享 google 表时,我收到一封电子邮件说:

Delivery to the following recipient failed permanently:

 dataload@geometric-shine-118101.iam.gserviceaccount.com

Technical details of permanent failure: DNS Error: Address resolution of geometric-shine-118101.iam.gserviceaccount.com. failed: Domain name not found

该电子邮件与我在 .json key 文件中收到的完全相同。我检查了其他帖子,通常应该共享的电子邮件结构是这样的:

project_name@developer.gserviceaccount.com

但是我的不一样,可能跟这个有关?我按照关于此 link 的说明进行操作.

这是 .json key 文件的副本:

{
"type": "service_account",
"project_id": "geometric-shine-118101",
"private_key_id": "xxx",
"private_key": "-----BEGIN PRIVATE KEY-----\nxxx\n-----END PRIVATE KEY-----\n",
"client_email": "dataload@geometric-shine-118101.iam.gserviceaccount.com",
"client_id": "117076930343404252458",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/dataload%40geometric-shine-118101.iam.gserviceaccount.com"
}

最佳答案

我解决了我的问题:

Google 已更新其服务帐户详细信息格式以及与服务帐户共享电子表格的方式,以便可以从 gspread 访问它们。

然后我使用新格式创建了一个服务帐户:dataload@geometric-shine-118101.iam.gserviceaccount.com 并将谷歌生成的完全相同的文件设置为我的应用程序读取的 JSON:

login = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)

然后在没有通知的情况下与我的服务帐户电子邮件共享电子表格(与我刚才提到的 JSON 文件中的相同)

关于python - 与服务帐户电子邮件共享 Google 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34682456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com