2021/05/21

Salesforce REST APIの利用に必要なAPIの有効化と認証に関する説明

 
  

SalesforceにおけるREST APIとは

SalesforceにおけるREST APIは、RESTful 規則に基づいて、REST リソースと HTTP メソッドを介して、Salesforce 機能を公開できるWeb サービスです。

Salesforce REST APIでできること

REST APIは、要求と応答を実行する軽量のフレームワークです。XML と JSON をサポートしており、モバイルアプリケーションや Web アプリケーションの作成に適しています。 REST APIでは、以下の操作を実行できます。 <REST APIで実行できること> ・レコードの作成、読み取り、更新、削除 (CRUD) ・データの検索およびクエリ、オブジェクトメタデータの取得 ・組織の制限に関する情報へのアクセス  など

SalesforceのAPIファーストの設計

REST APIは、Salesforceの方針である“API ファースト”の賜物です。Salesforceのプラットフォームは、堅牢な API を作成したうえで、UI の設計に取り組む、“API ファースト”のアプローチで機能開発されています。 Salesforce 開発者はSalesforce が提供するAPIを活用して、柔軟かつ最適な方法でデータを操作し、インテグレーションを構築できます。

Salesforce REST API アクセスと認証

Salesforce APIを利用するには、APIへのアクセスとAPIコールの認証が必要です。APIコールの認証には、サポートされている OAuth フローのいずれかを使用する方法とSOAP API login() コールから取得したセッション ID で認証する方法があります。 以下のエディションで、「API の有効化」の権限により、Salesforce API にアクセスできます。 <Salesforce APIを使用できるエディション> ・Trailhead Playground ・Enterprise Edition ・Unlimited Edition ・Developer Edition ・Performance Edition ・Professional Edition (アドオン付)

Salesforce API コールと権限

API コールとは、クライアントアプリケーションがタスクを実行するために起動する特定の操作です。 APIでは、システム管理者が設定したオブジェクトレベルおよび項目レベルのログインユーザの権限およびアクセス設定が優先されます。参照の権限がない項目は、APIコールを実行しても返されませんし、参照のみの項目は更新ができません。 <API コールで起動する操作> ・組織内のデータのクエリを作成する。 ・データの追加、更新、削除する。 ・データのメタデータを取得する。 ・管理タスク実行のためのユーティリティを起動する。

Salesforce APIの有効化

SalesforceでAPIを使用するには、ログインユーザの権限の有効化と認証が必要です。 Salesforceのシステム管理者によりAPI 対応の権限が与えられたユーザだけが、API コールを実行してコール結果を受信することができます。

API 有効化の設定とは

APIの有効化により、ログインユーザの権限を介してクライアントアプリケーションへのアクセス権限が付与され、そのオブジェクトや項目を照会もしくは更新できます。 APIの有効化には、プロファイルを作成する方法と権限セットを作成する方法があります。ここでは、プロファイルを作成して設定する方法を紹介します。

「API の有効化」プロファイルの設定

「API の有効化」のプロファイルを作成して、APIを有効化します。 Experience Cloud からLightning を使用しますので、Experience Cloud サイトを初めて使用する場合は、組織でデジタルエクスペリエンスを有効にしておきます。 ①プロファイルを新規作成もしくは編集する既存のプロファイルを開きます。 ②プロファイルの詳細を編集し、[システム管理者権限] の [API の有効化] を選択します。 ③変更を保存して、APIを有効化するユーザを選択します。 [設定] > [クイック検索] ボックスに「デジタルエクスペリエンス」と入力> [すべてのサイト] を選択 > サイト名の横にある [ワークスペース] > [管理] > [メンバー] ④「API の有効化」プロファイルを [選択済みプロファイル] に追加します。 これで、プロファイルが割り当てられているユーザに API アクセス権が付与されました。

Salesforce APIのOAuth 2.0 による接続アプリケーションの認証

Salesforceでは、安全なデータ共有を担保するため、クライアントアプリケーションを介してリソースにアクセスするAPIには、認証が必要となっています。 OAuth 2.0 認証フローを使用して、SalesforceのREST API リソースにアクセスする接続アプリケーションを認証する方法を説明します。

OAuth 設定の有効化

APIインテグレーションで使用する接続アプリケーションで、OAuth 設定を有効化する手順を説明します。 接続アプリケーションをインストールできるすべてのエディションで使用できます。

①[OAuth 設定の有効化] を選択する

作成した接続アプリケーションのページから、API ([OAuth 設定の有効化]) 領域で、[OAuth 設定の有効化] を選択します。 この設定に先立って、接続アプリケーションを作成し、基本情報の設定を完了しておきます。

②コールバック URL を入力する

Salesforce が OAuth 時に、アプリケーションにコールバックするURL (エンドポイント) を入力します。アプリケーションで指定されたコールバック URL の値と、この項目に登録されたURLを照合して検証されます。 使用する OAuth フローによりますが、通常は認証が成功した際にこのURLにリダイレクトされます。一部の OAuth フローではアクセストークンを渡す際にこの URL を使用するため、セキュアな HTTPS またはカスタム URI スキームを使用したURLである必要があります。 コールバック URLでは複数のURLを入力できますが、累積 2000 行までという制限があります。この上限を超過する場合は別途、接続アプリケーションを作成します。

③接続アプリケーションに適用するOAuth 範囲を選択する

OAuth トークン名をカッコで囲んで入力します。 これにより接続アプリケーションの権限が定義され、アプリケーションが認証されたときにトークンとして付与されます。

④OAuth 設定を完了する

接続アプリケーションのOAuth 設定が完了したら、[保存] をクリックします。 目的に応じて、以下のオプションを選択できます。 ・入力機能や表示機能が限られたデバイスを使用する。 ・JWT OAuth フロー使用時にデジタル署名を使用する。 ・アクセストークンと交換するアプリケーションのクライアントの秘密を要求する。 ・更新トークンとハイブリッド更新トークンフローの認証で、クライアントの秘密を要求する。 ・組織のすべてのアクセストークンと更新トークンを調査する。 ・OAuth 要求で ID トークンを処理する方法を制御する。 ・接続デバイスのアセットトークンを発行するようにアプリケーションを設定する。 ・Salesforce のログアウト時に、接続アプリケーションからも自動的にログアウトさせる。 ・指定した組織のユーザにはユーザ承認なしでアプリケーションに対して承認させる。

OAuth 認証フローの適用

OAuth 認証フローを選択して、接続アプリケーションに適用します。 これにより、REST API リソースへのアクセス権がクライアントアプリケーションに付与されます。承認プロセスはOAuthフローごとに異なります。ここでは一般的なフローを説明します。 ①接続アプリケーションが、REST API リソースへのアクセスを要求する。 ②認証サーバはアクセストークンを接続アプリケーションに付与する。 ③リソースサーバがアクセストークンを検証し、保護された REST API リソースへのアクセスを承認する。

Salesforceの REST APIの活用にはAPI有効化と認証フローが必須

Salesforceの REST APIの利用に必要な、APIの有効化と認証に関する設定について説明しました。 REST APIを利用することで、Web サービスでSalesforceのさまざまな機能を公開できます。REST APIを活用して、Salesforceと外部アプリケーションを連携したインテグレーションを実現しましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】