我已在 API 管理器中生成了服务器 key ,并尝试在我的 Mac 上执行以下操作:
curl 'https://sheets.googleapis.com/v4/spreadsheets/MySheetID?ranges=A1:B5&key=TheServerKeyIGeneratedInAPIManager'
但这就是它返回的内容:
{
"error": {
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}
}
我在这里做错了什么?
最佳答案
要解决此问题,请尝试:
- 创建服务帐户:https://console.developers.google.com/iam-admin/serviceaccounts/
- 在选项中,创建一个 key :该 key 是您常用的 client_secret.json - 以相同的方式使用它
- 指定服务帐号的角色所有者(成员名称 = 服务帐号 ID = 服务帐号电子邮件地址,例如:thomasapp@appname-201813.iam.gserviceaccount.com
- 复制您的服务帐户的电子邮件地址 = 服务帐户 ID
- 只需在浏览器中转到您想要与之交互的 Google 工作表
- 前往屏幕右上角的“分享”
- 转到高级设置并与您的服务帐户的电子邮件地址共享,例如:thomasapp@appname-201813.iam.gserviceaccount.com
关于google-api - 使用服务器 key 时 Google Sheets API 返回 "The caller does not have permission",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38949318/