注: OAuth App ではなく GitHub App を構築することを検討してください。 インストール アクセス トークンを使用する GitHub App のレート制限は、リポジトリの数と Organization ユーザーの数に応じてスケーリングされます。 逆に、OAuth App のレート制限は低く、スケーリングされません。 詳細については、「GitHub アプリと OAuth アプリとの微妙な違い」および「GitHub App の作成について」を参照してください。
OAuth Apps のレート制限について
GitHub は、OAuth App が一定の時間内にサーバーに送信できる要求の数に制限を設けます。 この制限は、不正使用やサービス拒否攻撃を防ぐのに役立ち、すべてのユーザーがシステムを使用できるようにします。
GitHub は、API の可用性を確保するため、一部のアクションに二次的なレート制限を追加して適用する場合があります。 ベスト プラクティスに従い、以下に示すレート制限ガイドラインの範囲内に留めることで、二次的なレート制限を回避できます。 二次的なレート制限について詳しくは、「インテグレーターのためのベストプラクティス」と「REST API のリソース」をご覧ください。
OAuth Apps は、ユーザーがアプリを承認した後、ユーザー アクセス トークンを使って要求を行うことで、ユーザーに代わって動作します。 OAuth Apps からのユーザー アクセス トークン要求は、OAuth トークンを使って認証されます。 詳しくは、「OAuth アプリの承認」を参照してください。
OAuth App のレート制限を決定する
現在のレート制限の状態は、いつでも REST API を使って確認できます。 詳しくは、「REST API のリソース」を参照してください。
OAuth Apps は、認証したユーザーあたり 5,000 件/時に制限されます。 ユーザーによって、またはユーザーが所有している personal access token によって認可されている OAuth Apps からのすべての要求と、ユーザーの認証資格情報のいずれかで認証された要求は、そのユーザーについて 1 時間あたり 5,000 件の同じクォータを共有します。
OAuth Apps では、次の両方に該当する場合、認証済みユーザーあたり 15,000 要求/時の上限が適用されます。
- この要求は、GitHub Enterprise Cloud 組織が所有しているか、承認した OAuth App からの要求です。
- 認証されたユーザーが、GitHub Enterprise Cloud 組織のメンバーです。
レート制限について詳しくは、「REST API のリソース」と REST API ドキュメントの「レート制限」をご覧ください。
参考資料
- GraphQL API ドキュメントの「リソースの制限事項」