API で不可解な問題が発生した場合、発生したと思われる問題の解決策をこちらの一覧から確認できます。
既存リポジトリの 404 エラー
通常、クライアントが正しく認証されていない場合、404 エラーが送信されます。 このような場合、403 Forbidden が表示されるはずであると考えるかもしれません。 しかし、プライベートリポジトリに関するいずれの情報も提供されないため、API は代わりに 404 エラーを返します。
To troubleshoot, ensure you're authenticating correctly, your OAuth access token has the required scopes, third-party application restrictions are not blocking access, and that the token has not expired or been revoked.
表示されない結果がある
リソース(例: ユーザ、Issue など)のリストにアクセスするほとんどの API 呼び出しは、ページネーションをサポートしています。 リクエストをして、すべての結果を受け取っていない場合は、おそらく最初のページしか表示されていません。 より多くの結果を受け取るには、残りのページをリクエストする必要があります。
ページネーション URL のフォーマットを推測しないことが重要です。 すべての API 呼び出しで同じ構造が使用されるわけではありません。 代わりに、すべてのリクエストで送信される Link Header からページネーション情報を抽出します。
Basic 認証のエラー
2020 年 11 月 13 日に、 REST API に対するユーザ名およびパスワードによる認証と OAuth 認証 API は非推奨となり、使用できなくなりました。
Basic 認証での username/password の使用
API 呼び出しに username と password を使用している場合、これは認証されなくなります。 例:
curl -u my_user:my_password https://api.github.com/user/repos
エンドポイントをテストするとき、またはローカル開発を実行するときには、かわりに個人アクセストークンを使用してください。
curl -H 'Authorization: token my_access_token' https://api.github.com/user/repos
OAuth App の場合は、Web アプリケーションフローを使用して、API 呼び出しのヘッダーで使用する OAuth トークンを生成する必要があります。
curl -H 'Authorization: token my-oauth-token' https://api.github.com/user/repos
OAuth 認証 API の呼び出し
OAuth 認証 API を呼び出して OAuth アプリの認証を管理する、あるいはアクセストークンを生成する場合は、次の例のようにします。
curl -u my_username:my_password -X POST "https://api.github.com/authorizations" -d '{"scopes":["public_repo"], "note":"my token", "client_id":"my_client_id", "client_secret":"my_client_secret"}'
次に、Web アプリケーションフローに切り替えて、アクセストークンを生成します。
Timeouts
If GitHub takes more than 10 seconds to process an API request, GitHub will terminate the request and you will receive a timeout response.