目次
はじめに
Salesforce APIといえば、REST API、SOAP APIなどいくつかありますが、今回はWinter’23でリリースされたGraphQL APIをご紹介します。 GraphQLは、オープンソースのAPI用クエリ言語です。従来のRESTful APIよりも柔軟にデータを取得できることが特徴です。
今回は、初めてGraphQL APIを使用する方向けに、下記のステップでAPI接続に必要な事前準備と、実際にGraphQL APIをテストしていきます。
- 事前準備1 接続アプリケーションの作成
- 事前準備2 アクセストークンの取得
- 事前準備3 Altair GraphQL Clientのダウンロード
- GraphQL APIのテスト
事前準備1 接続アプリケーションの作成
今回は、API接続のために接続アプリケーションを使用します。
Salesforceの設定画面から接続アプリケーションを作成します。 設定からアプリケーションマネージャーを開き、[新規接続アプリケーション]をクリックし、必要項目を入力します。
- [OAuth 設定の有効化] にチェックを入れ、下記の項目を設定します。
- [コールバックURL] (例) https://login.salesforce.com/\u003Cbr\u003Eservices/oauth2/callback
- [選択した OAuth 範囲] 今回は、フルアクセスを選択します。必要に応じて選択してください。
接続アプリケーションを保存したら、[コンシューマの詳細を管理]をクリックします。コンシューマキーとコンシューマシークレットを後ほど使用します。
事前準備2 アクセストークンの取得
アクセストークンを取得するために、APIリクエストを作成します。今回の例では、Postmanを使用します。
メソッドは、POSTを選択します。
エンドポイント:
https://login.salesforce.com/services/oauth2/token
または
https://test.salesforce.com/services/oauth2/token
Bodyに下記の通り、KeyとValueを設定します。 先ほどのコンシューマキーとコンシューマシークレットを使用します。
grant_type: | password |
client_id: | {コンシューマキー} |
client_secret: | {コンシューマシークレット} |
username: | {ユーザ名} |
password: | {上記のユーザのパスワード} + {Salesforceセキュリティトークン} |
[Send]を押すと下記の通りアクセストークンが取得できました。
事前準備3 Altair GraphQL Clientのダウンロード
今回は、Altair GraphQL Clientを使ってGraph QLクエリをテストしていきます。下記からダウンロードします。
GraphQL APIのテスト
ダウンロードしたAltair GraphQL Clientを開き、Graph QL APIをテストしていきます。
メソッドは、POSTを選択します。
エンドポイントを入力します。エンドポイントは、下記のフォーマットです。
https://{ドメイン名}.my.salesforce.com/services/data/v{version}/graphql
※{version}は、今回は「57.0」を使用しています。
[Set Headers]から、【事前準備2】で取得したアクセストークンを入力します。
Authorization | Bearer {アクセストークン} |
※フォーマットは、「Bearer」+半角スペース+アクセストークン
クエリを入力します。
query accounts { uiapi { query { Account { edges { node { Name { value } } } } } } }
おわりに
GraphQL APIを使うことで、従来のREST APIより柔軟にデータの抽出や集計が可能になります。
Salesforce GraphQL APIをまだ使用したことがない方のご参考になれば幸いです。
最後までお読みいただき、ありがとうございました。