2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Salesforce APIs for Postman を利用して GraphQL API を利用してみる

Last updated at Posted at 2023-12-25

※ これから記載する事項は、私が所属する会社とは一切関係のない事柄です。

今回は Salesforce APIs for Postman を利用して GraphQL API を利用する方法を紹介します。

Salesforce APIs for Postman では何ができるの?

現状下記の製品群の API が Postman で公開されているようです。これらを利用して開発時の参照として使ったり、実装の参考にすることができます。ただしオープンソースとして管理されており、SLA でカバーされるわけではないのでその点注意が必要です。

GraphQL API では何ができるの?

Field selection

アプリケーション作成時に必要な特定のオブジェクトのフィールドのみを絞ってクエリできるので、データ量の削減につながります。

Resource aggregation

クライアントから平均や合計といった集計情報を取得できるので、サーバー側での実装や不要なサーバーとのやりとりを無くします。

Schema introspection

クライアントはクエリのスキーマを取得できるためアプリケーション開発時の設計やテストに利用することができる。

制限 (2023/12/21 時点)

Salesforce Postman Collection を利用する

1. Salesforce の Postman Collection からコレクションをフォークする

「Salesforce Platform APIs」というコレクションをフォークします。
スクリーンショット 2023-12-25 12.28.30.png

2. 組織に接続アプリケーションを作成し、クライアント ID を取得する

接続したい組織に OAuth を行こうにした接続アプリケーションを作成します。その際 [コールバック URL] には https://oauth.pstmn.io/v1/browser-callback(Postman のブラウザの場合)と https://oauth.pstmn.io/v1/callback(Postman のデスクトップの場合)を入力してください。また、[選択した OAuth 範囲] には api を入れておきます。
作成が環境したら [コンシューマーの詳細を管理] からコンシューマー鍵 (クライアント ID) を取得します。

スクリーンショット 2023-12-25 12.42.15.png

3. Postman の変数の入力

上記で作成したクライアント ID をコレクションの [Variables] タブの clientId に入力します。また同時に API を呼ぶ際の URL を _endpoint に入力します(URL がわからない場合は後のアクセストークン取得時に表示されるので後でも構いません。)。
入力したら必ず保存してください。

スクリーンショット 2023-12-25 15.01.57.png

4. アクセストークンを取得する

コレクションの [Authorization] タブの [Get New Access Token] をクリックします。
スクリーンショット 2023-12-25 12.41.34.png

すると、OAuth の認可の画面が出てくるので [許可] をクリックします。
スクリーンショット 2023-12-25 12.37.22.png

するとアクセストークンが画面に表示されるので [Use Token] をクリックします。
スクリーンショット 2023-12-25 12.37.44.png

5. GraphQL API を呼ぶ

コレクションの「GraphQL」フォルダにサンプルのリクエストがあります。
[Authorization] タブで認証タイプが「Inherit auth from parent」になっていることを確認します。
スクリーンショット 2023-12-25 12.42.57.png

あとは [Send] ボタンをクリックすればリクエストを実行できます。サンプルは取引先の ID と名前を取得するリクエストでした。
スクリーンショット 2023-12-25 12.43.27.png

参考

・ Salesforce APIs for Postman の Github レポジトリ

・ GraphQL Wire Adapter

GraphQL Wire Adapter は LWC を作成する際に利用できます。使い方は「GraphQL Wire Adapter for LWC」をご覧ください。現状ちょっとした制限があるようなので下記に記載しておきます。

制限 (2023/12/21 時点)
  • エクスペリエンスクラウドのサイトでは利用できません。
  • クエリを動的に変更することはできません。
  • クエリないで Javascript の ${} を利用して文字列の変数を扱うことはできません。
  • Graphql の directives は利用できません。

・ Mutation(ベータ)について

Mutation ではオブジェクトの作成・更新などの操作が可能です。使い方は「Mutations」をご覧ください。こちらも現状ちょっとした制限があるようなので下記に記載しておきます。

制限 (2023/12/21 時点)
  • 子オブジェクトを作成することは現時点できません。
  • GraphQL wire adapter は現状サポートされていません。
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?