プロジェクトのリソース使用量に応じて、割り当ての調整をリクエストできます。サービス アカウントによる API 呼び出しは、単一のアカウントを使用していると見なされます。割り当ての調整を申請しても、必ずしも承認されるとは限りません。割り当て値を大幅に増やす割り当て調整リクエストは、承認に時間がかかることがあります。
割り当て量はすべてのプロジェクトで同じとは限りません。Google Cloud の使用量が多くなるに伴い、割り当て値を増やす必要が生じることがあります。使用量の大幅な増加が見込まれる場合は、事前に Google Cloud コンソールの割り当てページから割り当ての調整をリクエストできます。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-08-04 UTC。"],[[["\u003cp\u003eGoogle Chat API uses quotas and limitations to ensure fair usage and performance.\u003c/p\u003e\n"],["\u003cp\u003eTwo quota types apply: per-space quotas (shared among apps in a space) and per-project quotas (for a single Chat app).\u003c/p\u003e\n"],["\u003cp\u003eExceeding quotas results in a \u003ccode\u003e429: Too many requests\u003c/code\u003e error; use exponential backoff to retry.\u003c/p\u003e\n"],["\u003cp\u003ePer-space quotas limit the rate of reads and writes per minute within a space.\u003c/p\u003e\n"],["\u003cp\u003ePer-project quotas limit the rate of various Chat API actions per minute for a project.\u003c/p\u003e\n"]]],[],null,["# Usage limits\n\nBecause the Google Chat API is a shared service, we apply quotas and limitations to\nmake sure that it's used fairly by all users and to protect the overall\nperformance of Google Workspace.\n\nIf you exceed a quota, you'll receive a `429: Too many requests` HTTP\nstatus code response. Additional rate limit checks on the Chat\nbackend might also generate the same error response. If this error happens, you\nshould use an\n[exponential backoff algorithm](https://en.wikipedia.org/wiki/Exponential_backoff#Binary_exponential_backoff_/_truncated_exponential_backoff)\nand try again later. As long as you stay within the per-minute quotas listed in\nthe following tables, there's no limit to the number of requests you can make\nper day.\n\nMultiple quota types may apply to Chat API methods: per-project,\nper-space, and per-user quotas.\n\nPer-project quotas\n------------------\n\nPer-project quotas limit the rate of queries for a Google Cloud project, and\nthus apply to a single Chat app calling the specified\nChat API methods for each quota.\n\nThe following table details per-project query limits. You can also find\nthese limits on the [Quotas](https://console.cloud.google.com/iam-admin/quotas) page.\n\n| Per-project Quota | Chat API methods | Limit (per 60 seconds) |\n|------------------------------|---------------------------------------------------------------------------------------------------------|------------------------|\n| Message writes per minute | `spaces.messages.create` `spaces.messages.patch` `spaces.messages.delete` | 3000 |\n| Message reads per minute | `spaces.messages.get` `spaces.messages.list` | 3000 |\n| Membership writes per minute | `spaces.members.create` `spaces.members.delete` | 300 |\n| Membership reads per minute | `spaces.members.get` `spaces.members.list` | 3000 |\n| Space writes per minute | [`spaces.setup`](#additional-usage) [`spaces.create`](#additional-usage) `spaces.patch` `spaces.delete` | 60 |\n| Space reads per minute | `spaces.get` `spaces.list` `spaces.findDirectMessage` | 3000 |\n| Attachment writes per minute | `media.upload` | 600 |\n| Attachment reads per minute | `spaces.messages.attachments.get` `media.download` | 3000 |\n| Reaction writes per minute | `spaces.messages.reactions.create` `spaces.messages.reactions.delete` | 600 |\n| Reaction reads per minute | `spaces.messages.reactions.list` | 3000 |\n\nPer-space quotas\n----------------\n\nPer-space quotas limit the rate of queries in a given space and are shared among\nall Chat apps acting in that space calling the listed\nChat API methods for each quota.\n\nThe following table details per-space query limits:\n\n| Per-space Quota | Chat API methods | Limit (per 60 seconds) |\n|-------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|\n| Reads per minute | `media.download` `spaces.get` `spaces.members.get` `spaces.members.list` `spaces.messages.get` `spaces.messages.list` `spaces.messages.attachments.get` `spaces.messages.reactions.list` | 900 |\n| Writes per minute | `media.upload` `spaces.delete` `spaces.patch` `spaces.messages.create` (Additional limits apply to [incoming webhooks](/chat/how-tos/webhooks#limits)) `spaces.messages.delete` `spaces.messages.patch` `spaces.messages.reactions.create` `spaces.messages.reactions.delete` | 60 |\n\nPer-user quotas\n---------------\n\nPer-user quotas limit the rate of queries for a Google Chat user. Queries\npertain to all Chat apps that call a Chat API method on\nbehalf of a user (using [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize#types-required)).\n\nThe following table details per-user query limits:\n\n| Per-user Quota | Chat API methods | Limit (per 60 seconds) |\n|-------------------|---------------------------------------------|------------------------|\n| Reads per minute | `customEmojis.get` `customEmojis.list` | 900 |\n| Writes per minute | `customEmojis.create` `customEmojis.delete` | 60 |\n\nAdditional usage limits\n-----------------------\n\nThere are additional quota limits for creating spaces of type `GROUP_CHAT`\nor `SPACE` (by using either the `spaces.create` or the `spaces.setup` method).\nCreate less than 35 spaces per minute and 800 spaces per\nhour of these types. Spaces of type `DIRECT_MESSAGE` aren't subject to these\nadditional quota limits.\n\nHigh API traffic targeting the same space can trigger\nadditional internal limits that aren't visible in the\n[Quotas](https://console.cloud.google.com/iam-admin/quotas) page.\n\nResolve time-based quota errors\n-------------------------------\n\n\nFor all time-based errors (maximum of N requests per X minutes), we recommend\nyour code catches the exception and uses a *truncated exponential backoff* to make sure your\ndevices don't generate excessive load.\n\n\nExponential backoff is a standard error handling strategy for network applications. An\nexponential backoff algorithm retries requests using exponentially increasing wait times\nbetween requests, up to a maximum backoff time. If requests are still unsuccessful, it's\nimportant that the delays between requests increase over time until the request is successful.\n\n### Example algorithm\n\n\nAn exponential backoff algorithm retries requests exponentially, increasing the wait time\nbetween retries up to a maximum backoff time. For example:\n\n1. Make a request to Google Chat API.\n2. If the request fails, wait 1 + `random_number_milliseconds` and retry the request.\n3. If the request fails, wait 2 + `random_number_milliseconds` and retry the request.\n4. If the request fails, wait 4 + `random_number_milliseconds` and retry the request.\n5. And so on, up to a `maximum_backoff` time.\n6. Continue waiting and retrying up to some maximum number of retries, but don't increase the wait period between retries.\n\n\nwhere:\n\n- The wait time is `min(((2^n)+random_number_milliseconds), maximum_backoff)`, with `n` incremented by 1 for each iteration (request).\n- `random_number_milliseconds` is a random number of milliseconds less than or equal to 1,000. This helps to avoid cases in which many clients are synchronized by some situation and all retry at once, sending requests in synchronized waves. The value of `random_number_milliseconds` is recalculated after each retry request.\n- `maximum_backoff` is typically 32 or 64 seconds. The appropriate value depends on the use case.\n\n\nThe client can continue retrying after it has reached the `maximum_backoff` time.\nRetries after this point don't need to continue increasing backoff time. For\nexample, if a client uses a `maximum_backoff` time of 64 seconds, then after reaching\nthis value, the client can retry every 64 seconds. At some point,\nclients should be prevented from retrying indefinitely.\n\n\nThe wait time between retries and the number of retries depend on your use case\nand network conditions.\n\nRequest a per-project quota increase\n------------------------------------\n\n\nDepending on your project's resource usage, you might want to request a quota\nadjustment. API calls by a service account are considered to be using a\nsingle account. Applying for an adjusted quota doesn't guarantee approval. Quota adjustment\nrequests that would significantly increase the quota value can take longer to be approved.\n\n\nNot all projects have the same quotas. As you increasingly use Google Cloud over\ntime, your quota values might need to increase. If you expect a notable upcoming\nincrease in usage, you can proactively\n[request quota adjustments](https://cloud.google.com/docs/quota#requesting_higher_quota)\nfrom the [Quotas page](https://console.cloud.google.com/iam-admin/quotas)\nin the Google Cloud console.\n\nTo learn more, see the following resources:\n\n- [About quota adjustments](https://cloud.google.com/docs/quotas/overview#about_increase_requests)\n- [View your current quota usage and limits](https://cloud.google.com/docs/quota#viewing_your_quota_console)\n- [Request a higher quota limit](https://cloud.google.com/docs/quota#requesting_higher_quota)"]]