Powershell Google Sheets API和服务帐户,如何设置作用域?

Powershell Google Sheets API和服务帐户,如何设置作用域?,powershell,google-api,google-sheets-api,google-oauth,Powershell,Google Api,Google Sheets Api,Google Oauth,我有一个谷歌表,我想填写使用谷歌云服务帐户。所以我创建了一个账户,和它共享了工作表。我通过以下方式激活它: gcloud auth activate-service-account --key-file=XXX.json 我把它放在我的powershell代码中: $cred = gcloud auth print-access-token $result = Invoke-RestMethod -Headers @{Authorization = "Bearer $cred"} -Uri

我有一个谷歌表,我想填写使用谷歌云服务帐户。所以我创建了一个账户,和它共享了工作表。我通过以下方式激活它:

gcloud auth activate-service-account --key-file=XXX.json
我把它放在我的powershell代码中:

$cred = gcloud auth print-access-token
$result = Invoke-RestMethod -Headers @{Authorization = "Bearer $cred"} -Uri 
$requestUri -Method Post -ContentType "application/json" -Body $data 
但我一直在犯这样的错误:

@{code=403;message=Request的身份验证作用域不足。{status=PERMISSION\u DENIED}


所以我的问题是,在哪里以及如何设置服务帐户的作用域?

您如何使用服务帐户创建访问令牌($cred)?我很想看看代码。你看过关于设置和使用服务帐户的说明吗?@dalmto,没有其他代码。@AMolina,我已经看过了。我可能遗漏了什么,所以我会再看一遍。我知道我不明白的是,具体的谷歌表单是如何分配给GCP项目的。好的,我已经与一个GCP服务帐户共享了它,并且还将GCP项目分配给了脚本/Resources/“Google平台项目…”。即使我根本不使用脚本,我也需要做后者吗?怎么样?工作表本身不会附加到项目,您可以使用API访问工作表,API的“用法”就是附加到GCP的内容,这就是您需要的凭据。例如,当您使用应用程序脚本时,脚本本身附加到GCP项目,而不是它访问的工作表、文档或其他文件,只有服务(通过作用域)是相关的。您如何使用服务帐户创建访问令牌($cred)?我很想看看代码。你看过关于设置和使用服务帐户的说明吗?@dalmto,没有其他代码。@AMolina,我已经看过了。我可能遗漏了什么,所以我会再看一遍。我知道我不明白的是,具体的谷歌表单是如何分配给GCP项目的。好的,我已经与一个GCP服务帐户共享了它,并且还将GCP项目分配给了脚本/Resources/“Google平台项目…”。即使我根本不使用脚本,我也需要做后者吗?怎么样?工作表本身不会附加到项目,您可以使用API访问工作表,API的“用法”就是附加到GCP的内容,这就是您需要的凭据。例如,当您使用应用程序脚本时,脚本本身附加到GCP项目,而不是它访问的工作表、文档或其他文件,只有服务(通过作用域)才是相关的。