我按照本指南将API部署到Google Cloud:https://cloud.google.com/endpoints/docs/quickstart-compute-engine。我成功地输入了命令:“gcloud beta service-management deploy swagger.yaml”,用于部署示例API。然后我错误地删除了该服务。当我尝试再次部署示例API时,我收到以下消息:如何取消删除Google API服务
“错误:(gcloud.beta.service-management.deploy)FAILED_PRECONDITION:服务exergo-143912.appspot.com已被删除,将在清除后30天。要重新使用此服务,请在https://cloud.google.com/service-management/create-delete之后取消删除服务。“
我遵循以下指示:https://cloud.google.com/service-management/create-delete恢复服务。我使用了以下命令:“curl -d'{}'https://servicemanagement.googleapis.com/v1/services/exergo-143912.appspot.com:undelete”。不过,我得到以下错误信息:
{ “错误”:{ “代码”:403, “消息”:“请求无法与客户端的项目被识别,请通过与有效的API密钥请求。“, ”status“:”PERMISSION_DENIED“ } }
任何帮助将不胜感激。谢谢
我设置了gcurl并解决了这个问题。谢谢 安装gcurl所需的oauth2l时遇到了一个小问题。指南https://cloud.google.com/service-management/getting-started表示我们需要创建一个Oauth客户端ID并将其与oauth2l配合使用。这没有用。错误消息提到密钥必须附加到应用程序。由于我没有工作的应用程序,我用服务帐号密钥替换了Oauth客户端ID,并解决了问题。 –
另一个问题是oauth2l安装在/root/.local/bin中,所以我必须使用工具的完整路径,它是/root/.local/bin/oauth2l –