Service Control API 为托管式服务提供控制面板功能,例如日志记录和监控。因此,Service Control API 的调用者通常是服务器应用。下面提供一些如何在 REST/RPC API 级层处理错误的一般性建议:
您的服务器应记录 Service Control API 返回的所有错误,您可以使用这些数据来排查托管式服务的问题。
如果您的服务器收到 Service Control API 发出的 429 错误,它应该返回 429 错误到客户端。
如果您的服务器无法访问 Service Control API,则可以选择应急开启(忽略错误)或应急关闭(将 503 返回给客户端)。
如果您的服务器收到 Service Control API 发出的 500 错误,它应该返回 500 错误到客户端。此类错误通常意味着 Service Control API 中存在问题。
如果您的服务器收到 Service Control API 发出的其他错误,它应该返回 500 错误到客户端。此类错误通常意味着托管式服务中存在问题。
“服务未启用”错误是什么意思?
如要使用任何 Google API 服务,您需要拥有一个 Google Cloud 项目,为该项目启用该服务,并为每个 API 请求传递与该项目相关联的 API 密钥或 OAuth 访问令牌。如需了解详情,请参阅身份验证指南。如要解决此错误,您需要使用 Google Cloud 控制台、Google Cloud CLI 或 Service Usage API 为您的项目启用该服务。如需了解如何启用服务,请参阅启用和停用服务。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-11。"],[],[],null,["# Troubleshooting\n\nThis page contains troubleshooting information for each version of the following\nService Infrastructure APIs:\n\n- The Service Management API\n- The Service Control API\n- The Service Consumer Management API\n\n| **Note:** For Service Infrastructure troubleshooting information for the Service Usage API, see [Troubleshooting](/service-usage/docs/troubleshooting).\n\n### How do I handle Service Control API errors in general?\n\nThe Service Control API provides control plane functionality, such as\nlogging, monitoring, to managed services. Therefore, the callers of the\nService Control API typically are server applications. Here are general\nrecommendations on how to handle errors at the REST/RPC API level:\n\n- Your server should log all errors returned by the Service Control API and you can use the data to toubleshoot your [managed service](/service-infrastructure/docs/glossary#managed).\n- If your server receives `429` errors from the Service Control API, it should return `429` errors to its clients.\n- If your server cannot access the Service Control API, it can choose to either fail-open (ignore the error) or fail-close (return `503` to its client).\n- If your server receives `500` errors from the Service Control API, it should return `500` error to its clients. Such errors typically mean bugs within the Service Control API.\n- If your server receives other errors from the Service Control API, it should return `500` error to its clients. Such errors typically mean bugs within your managed service.\n\n### What does the \"service not enabled\" error mean?\n\nTo use any Google API service, you need to have a Google Cloud project,\nenable the service for that project, and pass an API key or an OAuth access\ntoken associated with the project for each API request. See\n[Auth Guide](/docs/authentication) for details. To fix this error, you need\nto enable the service for your project using the Google Cloud console,\nGoogle Cloud CLI, or Service Usage API. To learn how to enable a service, see\n[Enabling and Disabling Services](/service-usage/docs/enable-disable).\n\n### How do I fix permission denied errors?\n\nSuch errors typically mean the caller doesn't have the right\n[Identity and Access Management](/iam) permission on certain resources. For information on the\nrequired permissions for each of the following Service Infrastructure APIs, see the\nrespective Access Control page:\n\n- [Service Control API Access Control](/service-infrastructure/docs/service-control/access-control)\n- [Service Management API Access Control](/service-infrastructure/docs/service-management/access-control)\n\n### How do I perform a retry on API errors?\n\nIt is recommended to perform a retry with exponential intervals plus randomness.\nThe minimum retry interval should be 30s for `429` quota errors; 1s for `500`\nand `503` server errors. For other errors, retry should only be performed based\non additional error information. See\n[`google.rpc.Code`](https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto)\nfor more details.\n\n### How do I request higher API quota?\n\nTo learn how to apply for higher quota for each of the following\nService Infrastructure APIs, visit the respective section of the\n[Quotas and Limits](/service-infrastructure/docs/quotas) page:\n\n- [Service Control API Quota](/service-infrastructure/docs/quotas#control)\n- [Service Consumer Management API Quota](/service-infrastructure/docs/quotas#consumer)\n- [Service Management API Quota](/service-infrastructure/docs/quotas#management)\n\n### How do I fix \"Ownership for domain name cannot be verified\" errors?\n\nThis error indicates the caller does not have the ownership of the domain\nname used for the [managed service](/service-infrastructure/docs/glossary#managed) name\nspecified in a\n[service configuration](/service-infrastructure/docs/service-management/reference/rpc/google.api#google.api.Service).\nFollow the [guide](/endpoints/docs/custom-domain) to use a valid domain."]]