端点调用者没有权限

Mel*_*Guo 5 google-app-engine python-2.7 google-cloud-endpoints google-cloud-platform

我有一个使用端点的 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'> 
Run Code Online (Sandbox Code Playgroud)

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

两者都有以下错误代码:

"error": { 
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"}
Run Code Online (Sandbox Code Playgroud)

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

dio*_*ovk 5

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

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


小智 0

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