{"meta":{"title":"OAuth アプリのレート制限","intro":"レート制限は、GitHub.com へのトラフィックのレートを制限し、すべてのユーザーに一貫したアクセスを確保するのに役立ちます。","product":"アプリ","breadcrumbs":[{"href":"/ja/apps","title":"アプリ"},{"href":"/ja/apps/oauth-apps","title":"OAuth アプリ"},{"href":"/ja/apps/oauth-apps/building-oauth-apps","title":"OOAuth アプリの構築"},{"href":"/ja/apps/oauth-apps/building-oauth-apps/rate-limits-for-oauth-apps","title":"レート制限"}],"documentType":"article"},"body":"# OAuth アプリのレート制限\n\nレート制限は、GitHub.com へのトラフィックのレートを制限し、すべてのユーザーに一貫したアクセスを確保するのに役立ちます。\n\n> \\[!NOTE]\n> GitHub Appの代わりにOAuth appを構築することを検討してください。 インストール アクセス トークンを使用する GitHub Apps のレート制限は、リポジトリの数と組織のユーザー数に応じてスケーリングされます。 逆に、 OAuth apps はレート制限が低く、スケーリングされません。 詳細については、「[GitHub アプリと OAuth アプリの違い](/ja/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps)」および「[GitHub アプリの作成について](/ja/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps)」を参照してください。\n\n> \\[!WARNING]\n> OAuth apps は、 **1 時間あたり 2,000 件のアクセス トークン要求の**レート制限の対象となります。 アプリケーションがこの制限を超えると、新しいアクセス トークンを生成する以降の要求は一時的にブロックされ、エラー応答が返される可能性があります。 **これにより一時的な停止が発生する可能性があります**。 サービス中断の可能性を回避できるように、実装は適切に計画してください。\n\n## OAuth apps のレート制限について\n\nOAuth apps ユーザーがアプリを承認した後、ユーザー アクセス トークンを使用して要求を行うことで、ユーザーの代わりに動作します。 詳しくは、「[OAuth アプリの承認](/ja/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps)」をご覧ください。\n\nこれらのユーザー アクセス トークンの生成は、レート制限の対象になります。 さらに、これらのユーザー アクセス トークンを使って行われた API 要求もレート制限の対象になります。\n\n## サインイン中のユーザーのレート制限\n\nOAuth apps は常にトークンをキャッシュする必要があり、ユーザーのサインインが必要になることはほとんどありません。 ユーザーが繰り返しサインインすると、バグを示す可能性があり、最も頻繁にアプリと GitHubの間の無限ループと見なされます。 アプリが 1 時間以内にユーザーに 10 回サインインした場合、同じ時間内の次のサインインでは、アプリケーションの再承認が必要になります。 これにより、ユーザーはアプリが非常に多くのトークンを生成していることを認識できるようになります。それ以外の場合は、無限ループになる可能性がある部分にブレークを挿入します。 この 10 *個のサインイン\\_レート制限は、*\\_ にも適用される 10 OAuth apps制限とは異なります。 10 トークンの制限については、「[OAuth アプリの承認](/ja/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#creating-multiple-tokens-for-oauth-apps)」を参照してください。\n\n## API のレート制限\n\nGitHub は、 OAuth app が特定の期間内に REST API に対して行うことができる要求の数に制限を設定します。 また、 OAuth app が特定の期間内に GraphQL API に対して実行できるクエリのポイント値に制限を設定します。 これらの主要なレート制限に加えて、 GitHub ではセカンダリ レート制限も適用される場合があります。 これらの制限は、不正使用やサービス拒否攻撃を防ぐのに役立ち、すべてのユーザーがシステムを使用できるようにします。\n\n詳細については、「[REST API のレート制限](/ja/rest/using-the-rest-api/rate-limits-for-the-rest-api)」および「[GraphQL API のレート制限とクエリ制限](/ja/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api)」を参照してください。\n\n## 参考資料\n\n* [REST API のレート制限](/ja/rest/using-the-rest-api/rate-limits-for-the-rest-api)\n* [GraphQL API のレート制限とクエリ制限](/ja/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api)\n* [GitHub アプリのレート制限](/ja/apps/creating-github-apps/registering-a-github-app/rate-limits-for-github-apps)"}