SalesforceでAPI連携を行う際、連携ユーザーが想定通りに動作しないというトラブルは少なくありません。本番環境に反映する前に原因を切り分けておかないと、後になって大きな手戻りが発生する可能性があります。この記事では、API連携ユーザーが想定と異なる挙動を示した場合に、本番反映前に実施すべき切り分け手順を詳しく解説します。具体的な確認ポイントや失敗パターンを押さえることで、スムーズな本番リリースを支援します。
【要点】この記事で確認すること
- 最初に見る場所: API連携ユーザーのプロファイル設定や権限、認証情報の有効期限、IP制限の有無を確認します。
- 切り分けの軸: ユーザー設定(権限・ライセンス)、組織設定(セキュリティ・API制限)、外部システム設定(エンドポイント・認証方式)の3軸で原因を特定します。
- 注意点: 本番環境の設定変更はサンドボックスで十分にテストしてから行います。特にAPI Onlyユーザーの場合は、API有効化やパスワードポリシーに注意してください。
ADVERTISEMENT
目次
API連携ユーザーが想定と違うとはどういう状態か
「想定と違う」という状況は、主に以下のようなケースを指します。APIコールが成功しない、データの取得や更新が一部できない、予想外のエラーが返ってくる、応答速度が異常に遅いなどです。これらの症状は、ユーザー設定、組織設定、外部システム設定のいずれかに原因があることがほとんどです。本番反映前にこれらの状態を迅速に切り分けることで、リリース後のトラブルを未然に防げます。
切り分けの前に確認すべき基本情報
切り分けを始める前に、以下の基本情報を整理しておきましょう。これらの情報がないと原因特定が難しくなります。
- 連携ユーザーのユーザー名とプロファイル名
- 使用しているAPIの種類(REST, SOAP, Bulk APIなど)
- エラーメッセージやHTTPステータスコード
- 発生時刻と頻度
- 外部システムの認証方式(OAuth, ユーザー名/パスワード, セッションIDなど)
想定と違う原因の切り分け手順
ここからは具体的な切り分け手順を説明します。以下の順序で確認すると効率的です。
- プロファイルと権限設定の確認
連携ユーザーに割り当てられたプロファイルで「API Enabled」が有効になっているか確認します。また、アクセスするオブジェクトの読み取り・作成・編集権限が適切に付与されているかもチェックします。標準プロファイルやカスタムプロファイルでは、権限セットや権限セットグループが正しく割り当てられているかも見てください。 - APIアクセストークンと認証方式の確認
OAuth2.0を使用している場合、アクセストークンの有効期限が切れていないか、リフレッシュトークンが正しく機能しているか確認します。ユーザー名とパスワードを使う方式では、パスワードが変更されていないか、IP制限がかかっていないかも確認します。 - 組織のセキュリティ設定の確認
「セキュリティコントロール」→「リモートサイト設定」で目的のエンドポイントが登録されているか、IP制限や信頼できるIP範囲が適切か確認します。また、「API使用状況」画面でAPIリクエスト制限(レート制限)に達していないかもチェックします。 - 外部システム側の設定確認
外部システムが正しいエンドポイントを呼び出しているか、認証情報の設定に誤りがないか、HTTPヘッダーやパラメータが正しいか確認します。SalesforceのWSDLやAPIドキュメントと照らし合わせてください。 - 監査ログとログイン履歴の確認
「設定」→「監査ログ」→「ログイン履歴」で連携ユーザーのログイン試行状況を確認します。失敗したログインがあれば、その理由(パスワード間違い、IP制限、期限切れなど)が記録されています。また、API呼び出しの詳細は「API呼び出しの監査ログ」でも確認できます。
プロファイルと権限設定の確認ポイント
プロファイルで「API Enabled」が無効だと、どのAPI呼び出しも拒否されます。また、オブジェクト権限が適切でないと、特定のデータに対する操作が失敗します。例えば、取引先オブジェクトに対するRead権限がない場合、取引先データの取得はできません。また、システム管理者プロファイルでも、明示的に「すべてのデータの参照」が無効になっていると、一部のデータにアクセスできないことがあります。
APIアクセストークンと認証方式の確認ポイント
OAuth2.0のアクセストークンは通常2時間程度で有効期限が切れます。リフレッシュトークンを使って自動更新する仕組みが正しく実装されていないと、定期的に認証エラーが発生します。ユーザー名・パスワード方式では、Salesforce側でパスワードポリシーが適用され、定期的なパスワード変更が必要な場合があります。また、「セキュリティコントロール」→「ネットワークアクセス」でIP制限が設定されていると、許可されていないIPからのアクセスはブロックされます。
組織のセキュリティ設定の確認ポイント
リモートサイト設定に外部システムのエンドポイントが登録されていないと、Salesforceからのコールアウト(外部API呼び出し)がブロックされます。また、APIリクエスト制限は組織ごとに決まっており、短期間に大量のリクエストを送ると制限に引っかかります。制限は24時間単位のロールリングウィンドウで計算されるため、特定の時間帯に集中しないようにすることも重要です。
よくある失敗パターンとその対策
以下の表は、実際によく遭遇する症状とその原因、対策をまとめたものです。本番反映前に一通り確認してください。
| 症状 | 原因 | 対策 |
|---|---|---|
| 401 Unauthorized | アクセストークンの有効期限切れ、または認証情報の誤り | リフレッシュトークンでトークンを更新、または認証情報を再入力 |
| 403 Forbidden | 権限不足、IP制限、レート制限超過 | プロファイル権限の見直し、IP制限の確認、API使用量の調整 |
| 404 Not Found | エンドポイントURLの誤り、またはオブジェクトが存在しない | エンドポイントURLを確認、APIバージョンやオブジェクト名を再確認 |
| 500 Internal Server Error | Salesforce側の一時的な障害、またはデータ処理エラー | リトライ、データ内容の検証、Salesforceサポートへの問い合わせ |
| 要求したデータが取得できない | 共有設定、項目レベルセキュリティ、FLSによる制限 | 権限セットや共有ルールの見直し、項目権限の確認 |
管理者へ確認すべき情報と本番反映前のチェックリスト
管理者に連絡する際は、以下の情報を伝えると原因究明がスムーズに進みます。
- エラーの正確なメッセージと発生時刻
- 連携ユーザーのユーザー名とプロファイル名
- 使用しているAPIとエンドポイントURL
- 外部システムのIPアドレス(可能であれば)
- 再現手順
本番反映前のチェックリストとして、以下の項目を必ず確認してください。
- API Onlyユーザーの「API Enabled」がオン
- 適切なオブジェクト権限が付与されている
- OAuthトークンが有効で、リフレッシュ機能が実装されている
- IP制限が外部システムのIPを許可している
- API使用制限に十分な余裕がある
- サンドボックスで本番と同様のテストが完了している
よくある質問
Q. API連携ユーザーとしてシステム管理者プロファイルを使っても問題ありませんか。
A. セキュリティの観点から推奨されません。必要最小限の権限を持つ専用のAPI Onlyユーザーを作成し、適切な権限セットを割り当てることをお勧めします。
Q. レート制限に引っかからないようにするにはどうすればよいですか。
A. APIリクエストを分散させる、バッチ処理を利用する、キャッシュを活用するなどの方法があります。また、Salesforceの「API使用状況」画面で現在の使用量を確認し、制限値を超えないように調整してください。
Q. エラーメッセージが「UNKNOWN_EXCEPTION」としか出ないのですが、どう切り分ければいいですか。
A. まずはSalesforceの「監査ログ」で詳細を確認します。外部システムのログも同時に確認し、タイミングやリクエスト内容を突き合わせてください。それでも不明な場合は、サポートに問い合わせる際にログのタイムスタンプを伝えると調査がスムーズです。
Q. 本番環境でのテストは避けるべきですか。
A. 可能な限りサンドボックスでテストを完了させてから本番に反映することをお勧めします。どうしても本番でテストする必要がある場合は、影響範囲の小さいユーザーや時間帯を選び、設定変更は最小限にしてください。
まとめ
API連携ユーザーが想定と違う動作をする場合、本番反映前にユーザー設定、組織設定、外部システム設定の3軸で切り分けることが重要です。特にプロファイルのAPI有効化、トークンの有効期限、IP制限、APIリクエスト制限は頻繁に問題となる箇所です。今回紹介した手順とチェックリストを活用して、事前に問題を洗い出し、本番リリースのリスクを最小化してください。
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
