よろずやIT
プログラミング

API連携が「両方正常なのに繋がらない」時の確認5項目と切り分けの順番

執筆・監修:よろずやIT編集部|編集方針を見る

結論:まずここだけ読めばOK

詳しい手順・原因は、この下で解説しています。

プログラミングのイラスト

一番苦労するのは「両方正常なのに、繋がらない」

API連携のトラブルで、特に原因の切り分けに苦労するのが、**「システムAも、システムBも、それぞれは正常に動いているのに、連携だけが失敗する」**というケースです。

どちらかが壊れているなら、壊れた側を調べれば済みます。しかし、両方が正常だと、どこを調べればいいのかが、分からなくなります。この種のトラブルで、原因になりやすいのは、各システムの内部ではなく、両者の「境目」の食い違いです。主に、次の4つが、よくある食い違いです。

(APIそのものの意味は、APIとはで解説しています。)

なぜ、原因が見えにくいのか

連携では、一方が出したデータを、もう一方が受け取って処理します。どちらも「自分は正しく動いている」ように見えるのは、お互いに、相手がどう期待しているかを、見ていないからです。

また、エラーが出ても、「連携に失敗しました」としか表示されず、どの項目が、なぜ合わなかったのかまでは、分からないことがあります。そのため、境目を、1つずつ確認していく進め方が必要になります。

API連携がつながらない時に確認する5項目と、切り分けの順番を示した図解

確認する5項目

項目 確認すること よくある食い違い
① 認証情報 APIキーやトークンが、正しいか、期限切れではないか。必要な権限が付いているか テスト用のキーを、本番で使っている。権限が足りない。有効期限が切れている
② データ形式 送るデータの構造や、項目の型が、相手の想定と合っているか 数字が文字として送られている。日付の形式が違う。文字コードが違う
③ 必須項目と値の制約 必須の項目が、すべて入っているか。値の範囲や長さの制限を守っているか 必須項目が空。文字数の上限を超えている。許可されていない値
④ バージョン 接続しているAPIの版が、想定と合っているか。仕様が変わっていないか 古い版を使い続けている。相手側が、仕様を変更した
⑤ 通信と制限 接続先のURLが正しいか。ネットワークの制限や、アクセス回数の制限に、かかっていないか URLの誤り。社内ネットワークの制限。短時間に、リクエストを送りすぎている

特に、①から④は、「両方が正常」に見えるのに、繋がらない時の、典型的な原因です。

HTTPステータスで、原因の方向を絞る

APIは、結果を「ステータスコード」という数字で返すことが多くあります。数字の意味を知っておくと、どちらの側を疑えばよいかが見えてきます。

ステータス 一般的な意味 疑う方向
400番台(400) リクエストの内容が、正しくない データの形式、必須項目、値の制約
401 認証できていない キー・トークン・有効期限
403 認証はできているが、権限がない アクセスの権限設定
404 指定したものが、見つからない URL、IDの誤り、バージョン
429 リクエストが多すぎる アクセス回数の制限(レートリミットとは)
500番台 相手のシステム側で、問題が起きた 相手側の障害、または想定外の入力による不具合

400番台は、こちらの送り方に原因があることが多く、500番台は、相手側に原因があることが多い、と覚えておくと、切り分けの出発点になります。ただし、サービスによって、使い方に違いがあるため、公式の説明も、あわせて確認してください。

切り分けの順番

闇雲に変更を加えるのではなく、次の順で、1つずつ確認します。

  1. まず、最小のリクエストで試す:必須項目だけを入れた、一番単純なリクエストで、動くかどうかを確認する
  2. 認証を、確認する:キーや権限が、使っている環境に合っているか
  3. 返ってきたエラーの内容を、そのまま読む:ステータスと、メッセージを、確認する
  4. 項目を、1つずつ足していく:最小のリクエストが成功したら、項目を1つ足しては、試す。失敗した時点の項目が、原因の候補になる
  5. 相手側の仕様の変更を、確認する:仕様書や、更新の案内に、変更がないか

一度に複数の箇所を変えると、何が効いたのかが分からなくなります。必ず、1回に1つだけ変えてください。

トラブルの相談を受ける時に、最初に確認する3点

連携のトラブルでも、最初に確認するのは、他のトラブルと同じ3点です。

特に、「以前は動いていた」場合は、何かが変わったことが原因です。自分たちが変えていないなら、相手側の仕様変更や、認証の有効期限切れを疑います。

AIや他の人に相談する時の注意

エラーの内容を、AIや他の人に相談する時は、次の点に気をつけてください。

貼る前の確認には、AIに貼る前チェックが使えます。APIキーの扱いは、APIキーとはで解説しています。ログインや認証の仕組みは、OAuthとはも参考にしてください。

まとめ

関連記事:APIのタイムアウトとリトライの決め方、冪等キー(Idempotency-Key)とは

PR

APIとWebシステム連携の入門書を探す

Amazonで見る
SHAREXLINEはてブ

よくある質問

Q.APIとは、何ですか?

A.ソフトウェア同士が、決められた方法でやり取りするための窓口です。たとえば、あるサービスのデータを、別のシステムから呼び出す時に使います。詳しくは、当サイトの「APIとは」の記事で解説しています。

Q.連携のエラーを、AIに相談してもよいですか?

A.相談できます。ただし、APIキー・トークン・パスワード・個人情報は、そのまま貼らず、必ず伏せてください。送ったリクエストの形と、返ってきたエラーの内容を、伏せ字にして渡すと、原因を絞り込みやすくなります。貼る前の確認には、当サイトの「AIに貼る前チェック」が使えます。

Q.テスト環境では動くのに、本番で動かないのはなぜですか?

A.接続先のURL、認証情報、権限、データの内容が、環境ごとに異なることが、よくある原因です。テスト用のキーを、本番で使っていないか、本番のキーに必要な権限が付いているか、接続先が正しい環境を指しているかを、確認してください。

関連記事

アプリ困りごと解決

VPNは繋がったのに、社内システムが開けない時の確認手順

VPNの接続に成功したのに、社内のシステムやファイルサーバーが見えない。原因は、名前解決(DNS)、通信の経路、アクセス権限、システム側の状態、端末の設定など、VPNとは別の部分にあることが多いです。確認の順番と、コマンドでの切り分け方を解説します。

プログラミング用語解説

冪等性(べきとうせい)とは?二重決済を防ぐAPI設計の考え方

冪等性(べきとうせい)とは、同じ操作を何度行っても、結果が変わらない性質です。二重決済を防ぐAPI設計での考え方、冪等キー、HTTPメソッドとの関係、確認のチェックリストを解説します。

プログラミング用語解説

ストラングラーパターンとは?古いシステムを止めずに、少しずつ新しくする移行方法

古いシステムを、一度に全部作り直すのは、リスクが大きい方法です。ストラングラーパターンは、入口で振り分けながら、機能ごとに少しずつ新しいシステムへ移していく方法です。仕組み、進め方の5ステップ、向いている場面と、つまずきやすい点を解説します。

PC・スマホ困りごと解決

Wi-Fiに繋がらない時に確認すべき5つのこと

「圏外」でも「未接続」でもないのに繋がらない。よくある原因と、直す順番をまとめました。

最新のIT関連書籍 トップ10

PR / 楽天市場の売れ筋ランキングを定期的に取得しています。価格は変動する場合があるため、購入前に各ストアでご確認ください。