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



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

[email protected]

但是我的与众不同,也许与此有关吗?
我按照此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": "[email protected]",
  "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访问这些表格。

然后,我以新格式创建了一个服务帐户:[email protected],并设置了Google生成的与JSON完全相同的文件,供我的应用读取:

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

然后将其电子表格与我的服务帐户电子邮件共享(不通知)(与我刚才提到的JSON文件相同)

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

10-12 18:38