raz*_*mas 7 google-sheets google-apps-script google-drive-api google-cloud-iam
我们正在开发一个使用 Google 电子表格作为输入的程序。电子表格的值被读取、处理,结果显示在网页中。
当用户注册时,我们使用服务帐户从模板克隆电子表格。该模板有一些我们想用来帮助用户在电子表格中引入值的脚本。
但是脚本似乎拥有服务帐户的所有者,并且根据 Google 属于服务帐户的脚本无法执行。
错误信息是:
Google Apps 脚本:无法运行脚本,因为它归服务帐户所有。请在运行前将项目复制或转移到有效帐户。
我们将电子表格的所有权从服务帐户转移给了 gmail 用户,如果该用户创建了一个脚本,它可以完美运行,但从模板继承的脚本似乎仍然拥有服务帐户的所有者,因此无法执行。
我的问题是......我如何将项目(脚本)的所有权从服务帐户转移到另一个用户?
我用谷歌搜索并在开发者谷歌电子表格网站上搜索,但找不到答案
截至今天的简短回答:
curl --request POST \
'https://www.googleapis.com/drive/v3/files/1_AVYCjzIATBg2OmK6CzgXXy8hB-GsLxoIKCHEqyndhs/permissions?emailMessage=[NEW_OWNER_EMAIL]&sendNotificationEmail=true&transferOwnership=true&alt=json&key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"role":"owner","type":"user","emailAddress":[NEW_OWNER_EMAIL]}' \
--compressed
Run Code Online (Sandbox Code Playgroud)
在哪里:
NEW_OWNER_EMAIL:新所有者的电子邮件YOUR_ACCESS_TOKEN:当前所有者(服务帐户)的访问令牌
curl --request POST \
'https://www.googleapis.com/drive/v3/files/1_AVYCjzIATBg2OmK6CzgXXy8hB-GsLxoIKCHEqyndhs/permissions?emailMessage=[NEW_OWNER_EMAIL]&sendNotificationEmail=true&transferOwnership=true&alt=json&key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"role":"owner","type":"user","emailAddress":[NEW_OWNER_EMAIL]}' \
--compressed
Run Code Online (Sandbox Code Playgroud)
YOUR_API_KEY:您可以从 GCP Api 和服务部分 Ids 生成的 API 密钥| 归档时间: |
|
| 查看次数: |
1074 次 |
| 最近记录: |