我想使用服务帐户通过 Apps Script Execution API访问 Google 表格,但从文档中不清楚这是否受支持。
我尝试过的步骤(导致执行 API 出现 403 状态)是:
- 创建一个新的(未绑定的)Apps 脚本
- 访问链接的开发者控制台项目
- 启用执行 API
- 在同一个项目中创建一个新的服务帐户(下载生成的 JSON 文件)
- 创建一个新的 Google 表格并将其与服务帐户的电子邮件地址共享(这是我最不确定的步骤)
- 编写一个从电子表格中读取的应用程序脚本函数
- 从脚本编辑器手动运行脚本(正确设置脚本的范围)
- 发布脚本(“部署为 API 可执行文件”),使其可供“任何人”访问
- 使用服务帐户和链接到脚本的范围创建一个新的 OAuth2 令牌(在我们的例子中只是' https://www.googleapis.com/auth/spreadsheets ')
- 尝试使用令牌调用 Execution API
这是我得到的回应:
{
"error": {
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}
}
这是否不起作用,因为服务帐户永远无法访问执行 API?还是上面的步骤有问题?