GCP:403来电者没有权限
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GCP:403来电者没有权限相关的知识,希望对你有一定的参考价值。
编辑:我最终从工作表的共享设置中授予了对服务帐户的编辑权限。那让我插入表格。我不认为这是我的情况的最佳解决方案,但是是一个解决方案。
任何帮助,我将不胜感激。我不认为这是一个复杂的问题,只是我以前从未使用过GCP而且还在学习。
我正在尝试使用他们的.NET apis写入Google表格。我想在我正在开发的游戏中向用户提交反馈。我希望在用户不接受任何Google授权过程的情况下进行此过程。
我遇到了这个错误:
GoogleApiException: Google.Apis.Requests.RequestError
The caller does not have permission [403]
Errors [
Message[The caller does not have permission] Location[ - ] Reason[forbidden] Domain[global]
]
这是我到目前为止所尝试的内容。
- 成功地按照Google的指南从表格中阅读。
- 使用日志写入权限创建服务帐户。
- 通过
GoogleCredential
下载并使用服务帐户的凭据。
我有一种感觉,我只选择了不正确的角色,虽然我不确定。我会继续研究。再次,任何帮助,我将不胜感激。
对于人类用户而不是服务帐户,您可以更好地使用完整的OAuth(3-legged-auth)流程。
请参阅此处的示例。这使用人工用户帐户,并要求用户批准代码访问其Google表格数据的权限:https://developers.google.com/sheets/api/quickstart/dotnet
令人困惑的是,虽然IAM是用于例如IAM的现代授权机制。 Google Cloud Platform服务,其他Google服务不使用IAM,而是使用OAuth范围来定义客户端对API方法的访问权限。
所以,是的,IAM日志写入错误,因为您可能指的是客户端写入Stackdriver Logging所需的角色。
请参阅Google表格(OAuth)范围:https://developers.google.com/sheets/api/guides/authorizing
并注意示例代码:
static string[] Scopes = SheetsService.Scope.SpreadsheetsReadonly ;
对应https://www.googleapis.com/auth/spreadsheets.readonly
所以,你需要使用:https://www.googleapis.com/auth/spreadsheets
,这对应于:
static string[] Scopes = SheetsService.Scope.Spreadsheets ;
HTH
以上是关于GCP:403来电者没有权限的主要内容,如果未能解决你的问题,请参考以下文章
将内容上传到 GCP 存储桶的 KMS 权限出现 403 错误