我已将我的一个Google工作表的所有权分配给我正在从事的gcloud项目的服务帐户(这不是一件聪明的事,我知道...)。如何将此工作表的所有权重新分配给我的主要用户帐户?
答案 0 :(得分:1)
如果您拥有服务帐户的权限(例如,您是GCP项目的所有者),则可以使用命令行工具将其认证为服务帐户并在其中修改权限。
逐步过程(您可能已经完成了其中一些步骤):
curl https://sdk.cloud.google.com | bash
exec -l $SHELL
gcloud init
gcloud iam service-accounts keys create key --iam-account service_account_id@project_id.iam.gserviceaccount.com
sed -i 's/\(^CLOUDSDK_SCOPES = (\)/\1"https:\/\/www.googleapis.com\/auth\/drive",/' $(dirname $(which gcloud))/../lib/googlecloudsdk/core/config.py
gcloud auth activate-service-account service_account_id@project_id.iam.gserviceaccount.com --key-file key
curl -H"Authorization: Bearer $(gcloud auth print-access-token)" https://www.googleapis.com/drive/v3/files/DRIVE_FILE_ID/permissions?transferOwnership=true -d '{"role":"owner","type":"user","emailAddress":"YOUR_EMAIL@example.com"}' -H'content-type:application/json'
完成这些步骤后,您的常规电子邮件帐户应为新所有者。
这是一个非常糟糕的解决方案(黑客攻击SDK等),但是它几乎只有7条bash命令,因此我认为这可能是最快/最简单的,至少在一次性情况下如此。
如果这种情况经常发生(我猜不是),那么真实的脚本可能会更有用。