尝试将 Google Cloud 平台与已部署的 GKE 后端结合使用。
我有一个用于端点的 swagger 文件,在不使用安全性时可以正常工作。
我在 swagger 文件中添加了 api key 定义:
paths:
/create:
post:
...
security:
- api_key: []
securityDefinitions:
api_key:
type: "apiKey"
name: "key"
in: "query"
现在,如果我尝试发帖,我会得到预期的结果
{
"code": 16,
"message": "Method doesn't allow unregistered callers (callers without established identity). Please use API Key or other form of API consumer identity to call this API.",
"details": [
{
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"stackEntries": [],
"detail": "service_control"
}
]
}
很好,现在我在 GCP 的凭据部分创建了一个 API key
我更新发布请求以包含 ?key=API_KEY
并收到以下错误:
{
"code": 13,
"message": "\b#The caller does not have permission",
"details": [
{
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"stackEntries": [],
"detail": "service_control"
}
]
}
我找不到关于此错误的任何信息,这是否意味着我的 API key 无权使用此端点?如果是这样,我该如何解决?
最佳答案
确认您拥有 required services enabled
gcloud services enable servicemanagement.googleapis.com
gcloud services enable servicecontrol.googleapis.com
gcloud services enable endpoints.googleapis.com
同时启用您的端点服务gcloud services enable ENDPOINTS_SERVICE_NAME
关于google-cloud-platform - GCP 端点 : The caller does not have permission after requesting API key in query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61501446/