【问题标题】:Endpoints caller does not have permission端点调用者没有权限
【发布时间】:2019-05-15 19:52:21
【问题描述】:

我有一个使用 Endpoints 的 App Engine 部署。发送请求后,我的过程似乎成功完成。但是,当我检查日志时,我会看到以下错误:

direct send of check request failed 
<module 'endpoints_management.control.check_request' from 
'/base/data/home/apps/s~[PROJECT]/20181214t082133.414677408142968625/endpoints_management/control/check_request.py'> 

failed to flush report_req <ServicecontrolServicesReportRequest 
(/base/data/home/apps/s~[PROJECT]/20181214t082133.414677408142968625/endpoints_management/control/client.py:472)

两者都有以下错误代码:

"error": { 
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"}

如何解决这些错误?是否有需要额外权限的默认服务帐号?

【问题讨论】:

    标签: python-2.7 google-app-engine google-cloud-platform google-cloud-endpoints


    【解决方案1】:

    很可能发生此错误是因为未启用所需的 Cloud API (https://console.cloud.google.com/apis/dashboard) 之一。

    就我而言,我必须同时启用Service Management APIService Control API

    【讨论】:

    • 我也从端点获得了正确的响应,但在日志中看到了错误。启用Service Control API 后,日志看起来不错。
    【解决方案2】:

    我也有同样的问题。云端点检查 api 访问和报告错误的方式似乎不一致。 例如,如果一个 API 需要 Firebase 身份验证,而不是在没有提供 Firebase 令牌时拒绝请求,而是成功调用 API,返回代码 200,但在请求日志中记录了这样的错误,这非常令人困惑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      • 2017-04-04
      • 2019-08-06
      • 2020-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多