トラブルシューティング

REST API で発生する最も一般的な問題の解決方法を学びます。

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 呼び出しに usernamepassword を使用している場合、これは認証されなくなります。 例:

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.

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?