Salesforce
デベロッパー
ブログ

外部アプリから Salesforce API にアクセスする方法

Avatar for odashoodasho
これまで Salesforce API への外部アクセスには「接続アプリケーション(Connected App)」を使うのが一般的でした。しかし、Salesforce は次世代のソリューションとして「外部クライアントアプリケーション(External Client App)」の提供を開始しています。
外部アプリから Salesforce API にアクセスする方法
February 03, 2026

みなさん、こんにちは!外部のアプリケーションから Salesforce のデータにアクセスしたいと思ったことはありませんか?この記事では、最小手順で外部クライアントアプリケーションを使って Salesforce API にアクセスする方法について解説します。

動画での解説はこちらからご覧いただけます。

※この記事の内容を試すには、API アクセス権限のある Salesforce 組織が必要です。まだ環境をお持ちでない方は、無料で取得可能な Developer Edition をご利用ください。

この記事のポイント

  • 外部クライアントアプリケーションは、接続アプリケーションの「次世代版」
  • 開発者と管理者の役割が明確に分離された設計

1. なぜ「外部クライアントアプリケーション」なのか

接続アプリケーションの課題

従来の接続アプリケーション(Connected App)は長年にわたり Salesforce の外部連携を支えてきましたが、いくつかの課題がありました。

  • セキュリティ: デフォルトでグローバルに公開されるため、意図しないアクセスのリスク
  • 役割の混在: 開発者と管理者の設定が同じ場所に混在し、管理が複雑
  • パッケージング: 2GP(第2世代パッケージング)での利用に手動ステップが必要
  • 設定反映の遅延: 変更が反映されるまで最大10分かかる場合がある

外部クライアントアプリケーションのメリット

外部クライアントアプリケーションは、これらの課題を解決するために設計されました。

観点 接続アプリケーション 外部クライアントアプリケーション
セキュリティ デフォルトでグローバル公開 デフォルトでローカル・セキュア
役割分離 設定が混在 「設定」と「ポリシー」で明確に分離
パッケージング 1GP/2GP(2GPは制限あり) 2GP ネイティブ対応
設定反映 最大10分 即時反映

Salesforce は外部クライアントアプリケーションを「次世代の接続アプリケーション」と位置づけており、今後の新規開発ではこちらの利用が推奨されています。

接続アプリケーションから外部クライアントアプリケーションへの移行機能も提供されています。(英語)

2. 事前準備

外部クライアントアプリケーションを作成する前に、以下を確認してください。

  • Salesforce 組織(Developer Edition、Sandbox、または本番環境)
  • API アクセス権限のあるユーザー
  • 組織の My Domain URL(後で使用します)

My Domain URL は、設定画面のクイック検索で「私のドメイン」と入力して確認できます。

3. 外部クライアントアプリケーションの設定

ステップ 1:アプリの作成

  1. 設定画面を開く
  2. クイック検索で「外部クライアントアプリケーションマネージャー」を検索
  3. 「新規外部クライアントアプリケーション」をクリック
  4. 基本情報を入力
    • 外部クライアントアプリケーション名: 任意(例: My API Client)
    • 取引先責任者メール: 自分のメールアドレス

ステップ 2:OAuth 設定

※ curl コマンドで簡単に試してみる場合の設定。詳しくは 4. OAuth フローの選び方 を参照

  1. 「OAuth を有効化」にチェック
  2. 以下を設定:
    • コールバック URL: https://login.salesforce.com/services/oauth2/callback
    • OAuth 範囲: 「API を使用してユーザーデータを管理 (api)」を追加
    • フローの有効化: 「クライアントログイン情報フローを有効化」にチェック
    • セキュリティ: 「サポートされる認証フローにProof Key for Code Exchange (PKCE) 拡張を要求」のチェックを外す
  3. 「作成」をクリック

ステップ 3:ポリシー設定

ここが外部クライアントアプリケーションの特徴的な部分です。設定(開発者向け)とポリシー(管理者向け)が明確に分かれています。

  1. 作成後、「ポリシー」タブを開く
  2. 「編集」をクリック
  3. 「クライアントログイン情報フローを有効化」にチェック
  4. 「(ユーザー名) として実行」に API を実行するユーザーを設定
  5. 「保存」をクリック

※ 「実行ユーザー」の設定は Client Credentials Flow に必須です。このユーザーの権限で API が実行されます。

ステップ 4:認証情報の取得

  1. 「設定」タブを開く
  2. OAuth 設定 から アプリケーション設定 内にある「コンシューマ鍵と秘密」をクリック
  3. 受信したメールに記載されているコードで検証し、本人確認を完了
  4. コンシューマー鍵コンシューマーの秘密をコピーして安全に保管

4. OAuth フローの選び方

外部クライアントアプリケーションは、今回ご紹介している手順以外にも複数の OAuth フローをサポートしています。ユースケースに応じて適切なフローを選択してください。

Client Credentials Flow(推奨:サーバー間連携)

特徴:

  • ユーザーのログイン操作が不要
  • サーバー間(M2M)連携に最適
  • 事前に「実行ユーザー」の設定が必要

適したユースケース: バッチ処理、定期的なデータ同期、バックエンドサービス

認可コードフロー + PKCE(推奨:ユーザー操作を伴うアプリ)

特徴:

  • ユーザーがブラウザでログイン・認可を行う
  • PKCE(Proof Key for Code Exchange)により認可コードの横取り攻撃を防止
  • Consumer Secret が不要(公開クライアント向け)

適したユースケース: Web アプリケーション、モバイルアプリ、SPA(シングルページアプリケーション)

認可コードフロー(PKCE なし)

特徴:

  • ユーザーがブラウザでログイン・認可を行う
  • Consumer Secret が必要
  • PKCE より設定がシンプル

適したユースケース: サーバーサイドで Secret を安全に管理できる Web アプリケーション

どれを選ぶべきか(一例)

ユースケース 推奨フロー
バッチ処理・定期同期 Client Credentials
モバイルアプリ 認可コード + PKCE
SPA(React, Vue など) 認可コード + PKCE
サーバーサイド Web アプリ 認可コード(PKCE 任意)
CLI ツール Client Credentials または 認可コード

5. curl での動作確認

Client Credentials Flow を使って、curl で API アクセスを確認してみましょう。

トークン取得

成功すると、以下のようなレスポンスが返ります:

API 呼び出し

取得した access_token を使って Account データを取得します:

※ Mac のターミナル(zsh)では、トークンに ! が含まれる場合があるため、シングルクォートで囲むことをおすすめします。

6. よくあるエラーと対処法

invalid_grant: request not supported on this domain

原因: login.salesforce.comtest.salesforce.com を使用している

対処: 組織固有の My Domain URL を使用してください

unsupported_grant_type: grant type not supported

原因: Client Credentials Flow が有効化されていない

対処: ポリシー設定で「クライアントログイン情報フローを有効化」にチェックを入れてください

invalid_client_id

原因: コンシューマー鍵が間違っている、またはアプリがまだ有効化されていない

対処:

  • コンシューマー鍵を再確認
  • アプリ作成直後は数分待ってから再試行

INVALID_SESSION_ID: Session expired or invalid

原因: アクセストークンが無効または期限切れ

対処: トークンを再取得してください

まとめ

外部クライアントアプリケーションは、Salesforce が提供する次世代の外部連携ソリューションです。従来の接続アプリケーションと比較して、セキュリティ、役割分離、パッケージングの面で大きく改善されています。まずは Developer Edition で試してみてください。


参考リソース(英語)

その他の関連記事

Call Third-Party APIs with External Service Actions

Call Third-Party APIs with External Service Actions

Agents are powerful productivity tools, and External Service actions for agents are a simple and fast way to call third-party services from an agent.May 01, 2025

B2C Commerce Observability for Composable Storefronts

B2C Commerce Observability for Composable Storefronts

Discover performance monitoring tools that can help you build a more resilient storefront and handle peak traffic with ease.December 16, 2025

The Salesforce Developer’s Guide to the Winter ’26 Release

The Salesforce Developer’s Guide to the Winter ’26 Release

Learn about highlights for developers in the Winter '26 release across Lightning Web Components, Apex, Salesforce Platform developer tools, APIs, and more.September 08, 2025