Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

トラブルシューティング

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

API で不可解な問題が発生した場合、発生したと思われる問題の解決策をこちらの一覧から確認できます。

サポートされていない API バージョンに関する 400 エラー

X-GitHub-Api-Version ヘッダーを使用して、API のバージョンを指定する必要があります。 次に例を示します。

$ curl --header "X-GitHub-Api-Version:2022-11-28" https://api.github.com/zen

存在しないバージョンを指定すると、400 エラーが発生します。

詳しくは、「API のバージョン」を参照してください。

既存リポジトリの 404 エラー

通常、クライアントが正しく認証されていない場合、404 エラーが送信されます。 このような場合には 403 Forbidden が表示されることを想定されているかもしれません。 ただし、プライベート リポジトリに関 する情報は 提供したくないので、API は代わりにエラーを 404 返します。

トラブルシューティングを行うには、正しく認証していることOAuth アクセス トークンに必要なスコープがあることサード パーティのアプリケーション制限によってアクセスがブロックされていないこと、トークンの有効期限が切れておらず、取り消されていないことを確認します。

表示されない結果がある

リソースの一覧 (ユーザー、問題 など) にアクセスするほとんどの API 呼び出しでは、改ページ処理がサポートされます。 要求したがすべての結果を受け取っていない場合は、おそらく最初のページしか表示されていません。 より多くの結果を受け取るには、残りのページを要求する必要があります。

改ページ URL の形式を推測 しないように することが重要です。 すべての API 呼び出しで同じ構造が使用されるわけではありません。 代わりに、すべての要求で返されるリンク ヘッダーからページネーション情報を抽出します。 改ページ位置の自動修正の詳細については、「REST API 内での改ページ位置の自動修正の使用」を参照してください。

Basic 認証のエラー

2020 年 11 月 13 日に、 REST API に対するユーザ名およびパスワードによる認証と OAuth 認証 API は非推奨となり、使用できなくなりました。

基本認証に username/password を使用する

API 呼び出しで usernamepassword 使用している場合、それらでは認証できなくなります。 次に例を示します。

curl -u my_user:my_password https://api.github.com/user/repos

代わりに、エンドポイントをテストするとき、またはローカルで開発を行うときに、personal access tokenを使用します。

curl -H 'Authorization: Bearer my_access_token' https://api.github.com/user/repos

OAuth App の場合は、Web アプリケーションフローを使用して、API 呼び出しのヘッダーで使用する OAuth トークンを生成する必要があります。

curl -H 'Authorization: Bearer my-oauth-token' https://api.github.com/user/repos

Timeouts

GitHubがAPIを処理するのに10秒以上かかると、GitHubはリクエストを終了させ、タイムアウトのレスポンスが返されます。