Note
OAuth app ではなく GitHub App を構築することを検討してください。 インストール アクセス トークンを使う GitHub Apps のレート制限は、リポジトリの数と組織のユーザーの数に応じてスケーリングされます。 逆に、OAuth apps のレート制限は低く、スケーリングされません。 詳細については、「GitHub Apps と OAuth アプリの違い」および「GitHub App の作成について」を参照してください。
OAuth apps のレート制限について
OAuth apps は、ユーザーがアプリを承認した後、ユーザー アクセス トークンを使って要求を行うことで、ユーザーに代わって動作します。 詳しくは、「OAuth アプリの承認」をご覧ください。
これらのユーザー アクセス トークンの生成は、レート制限の対象になります。 さらに、これらのユーザー アクセス トークンを使って行われた API 要求もレート制限の対象になります。
サインイン中のユーザーのレート制限
OAuth apps は常にトークンをキャッシュする必要があり、ユーザーをサインインさせる必要はほとんどありません。 ユーザーが繰り返しサインインする場合はバグの兆候である可能性があり、最もよく見られるのはアプリと GitHub の間の無限ループです。 アプリが 1 時間以内にユーザーに 10 回サインインした場合、同じ時間内の次のサインインでは、アプリケーションの再承認が必要になります。 これにより、ユーザーはアプリが非常に多くのトークンを生成していることを認識できるようになります。それ以外の場合は、無限ループになる可能性がある部分にブレークを挿入します。 この 10 回の_サインイン_レート制限は、OAuth apps にも適用される 10 _トークン_の制限とは異なります。 10 トークンの制限については、「OAuth アプリの承認」を参照してください。
API のレート制限
GitHub では、OAuth app で特定の期間内に REST API に対して行える要求の件数に制限を設けます。 また、特定の期間内に OAuth app で GraphQL API に対して実行できるクエリのポイント値に制限を設けます。 これらの主要なレート制限に加えて、GitHub でもセカンダリ レート制限が適用される場合があります。 これらの制限は、不正使用やサービス拒否攻撃を防ぐのに役立ち、すべてのユーザーがシステムを使用できるようにします。
詳細については、「REST API のレート制限」および「GraphQL API のレート制限とノード制限」を参照してください。