【发布时间】:2015-12-11 22:06:41
【问题描述】:
从昨天开始我一直在努力解决这个问题。寻找可以帮助其他面临类似问题的人的解决方案,但对我没有任何帮助。如果有人可以帮助我,我将不胜感激!
我创建了一个项目(名称:xxx),其应用引擎(id:app-xxx)监视 GCS 存储桶(名称:bucket-xxx)。应用引擎和存储桶在同一个项目中。我尝试按照here 列出的步骤操作:
使用 p12 密钥创建服务帐户(电子邮件:xxx@app-xxx.iam.gserviceaccount.com)。
列入白名单的 URL(属性:https://app-xxx.appspot.com)。我看到网站管理员搜索控制台中列出的 URL。当我使用网站管理员列表 API 时,也会列出相同的内容。
注册域名(app-xxx.appspot.com/)
将 gsutil 配置为使用服务帐户 “gcloud auth activate-service-account xxx@app-xxx.iam.gserviceaccount.com --key-file path/to/key.p12”。使用“gcloud auth list”命令验证,报告:
认证帐户: - xxx@app-xxx.iam.gserviceaccount.com(活跃)
- 授予应用引擎对 GCS 存储桶的完全访问权限 "gsutil acl ch -u app-xxx@appspot.gserviceaccount.com:FC gs://bucket-xxx"
我在开发者控制台的“权限”页面中看到了权限: app-xxx@appspot.gserviceaccount.com(App Engine 服务帐号)
我也可以成功从本地机器上传文件到GCS bucket-xxx: "gsutils cp 本地文件 gs://bucket-xxx/"
但是,当我设置通知时,它会报告: "ServiceException: 401 Unauthorized WebHook 回调通道:https://app-xxx.appspot.com/notification"
收到的响应标头显示以下错误: "WWW-Authenticate: Bearer realm="https://accounts.google.com/", error=invalid_token"
你有什么想法吗?谢谢!
【问题讨论】:
-
“当我设置通知时” - 你能提供关于你做了什么设置的详细信息,以及在哪里设置的吗?例如。您是使用 gsutil 还是通过 API 调用?
-
我正在使用 gsutil "gsutil notification watchbucket https://app-xxx.appspot.com/notification gs://bucket-xxx"
-
这是我使用 "gsutil -d" { "error": { "errors": [ { "domain": "global", "reason": "push.webhookUrlUnauthorized" 时得到的, "message": "未授权的 WebHook 回调通道:https://app-xxx.appspot.com/notification" } ], "code": 401, "message": "未授权的 WebHook 回调通道:https://app- xxx.appspot.com/notification" } }
-
谁有这个工作?这是一个错误,因为我已经在多个 GAE 项目和服务帐户中尝试过;无法让它工作。
标签: google-app-engine google-api google-cloud-storage