はじめに
Spring ’23のリリースノートが公開されましたね!その中でもWebAPIを実行するアクションが追加されたようなので試してみようと思います。
今まででも、Apexでアクションを作ったりOpenAPIを利用した外部サービスを使ったりすればできたことではありますが
より簡易的に使えるようになることで、多くの人がFlow Builderの中でAPIで取得したデータを活用することができるようになります。
2022年12月現在Spring '23は、プレリリース組織での提供となってます。
外部サービスについては軽くですが過去に記事を書いています
プレリリース組織へのサインアップ
sandboxのプレビュー組織がまだ公開されていないので
プレリリース組織を利用します。
こちらからサインアップ
登録完了後、メール度届きますのでリンクをクリックしてログインできればOKです。
APIの準備
今回は、Qiita APIを使わせていただきます。
アクセストークンの準備
設定からアクセストークンを発行します。
アクセストークンの説明を入力し
スコープはread_qiita
にチェックを入れて発行します。
APIのテスト
$ACCESS_TOKEN
は取得したトークン
$USER_NAME
は自分のuser_idに変更してください
投稿した記事一覧が取得できればOK
$ curl -H 'Authorization: Bearer $ACCESS_TOKEN' \
'https://qiita.com/api/v2/users/$USER_NAME/items'
Salesforce 指定ログイン情報の追加
今回の新機能では、APIを実行する際に指定ログイン情報を使います。
外部ログイン情報
設定>指定ログイン情報
にアクセス
外部ログイン情報
の新規作成をします。
項目 | 値 |
---|---|
表示ラベル | Qiita API トークン |
名前 | Qiita_API_Token |
認証プロトコル | カスタム |
作成した外部ログイン情報
の権限セットの対応付け
を新規登録します。
設定>権限セット
で外部ログイン情報
にアクセスできる権限セットを作成します。
ExternalActionQiita
という名前で作成しました。
作成後自分に割り当てをし、
作成した権限セットを外部ログイン情報
の権限セットの対応付け
に登録します。
作成した外部ログイン情報
のカスタムヘッダー
を新規登録します。
項目 | 値 |
---|---|
名前 | Authorization |
値 | Bearer $ACCESS_TOKEN(取得したアクセストークン) |
指定ログイン情報
外部ログイン情報
を作成後 指定ログイン情報
を新規作成します。
項目 | 値 |
---|---|
表示ラベル | Qiita API v2 |
名前 | Qiita_API_v2 |
URL | https://qiita.com/api/v2 |
外部ログイン情報 | Qiita API トークン(外部ログイン情報で登録したもの) |
コールアウトオプション | 認証ヘッダーを生成にチェック |
これで前準備はOKです。
フローの作成
1. Create HTTP Callout (Beta)
を追加
フローのアクションから Create HTTP Callout (Beta)
を選択
項目 | 値 |
---|---|
Name | getQiitaItems |
Name Credential | Qiita API v2 (指定ログイン情報で作成したもの) |
2. APIの設定
項目 | 値 |
---|---|
Label | getQiitaItems |
Method | GET(BetaではGETのみ) |
URL Path |
/users/$USER_NAME/items ($USER_NAMEを自分のuser idに変えてください) |
Provide Sample Response
を設定します。
利用するAPIのサンプルレスポンスを貼り付けます
アクションを作成完了です。
実行
デバッグ
デバッグ実行すると記事が取得できました!
APIの結果を変数に割り当ててみる
Create HTTP Callout (Beta)
で作成したアクションは外部サービス
として登録されています。
変数のデータ型Apex 定義
で作成した外部サービス
の型を利用できるのでApexクラスで選択。
このように割り当てが可能です。
今回は、複数件記事を取っているので1件に絞るには、APIのリクエストパラメータを追加するか
フローのコレクションを1件に絞るとかすればいいと思います。
最後に
Spring '23 のCreate HTTP Callout (Beta)
の機能はどうだったでしょうか?
元々自分は外部サービスを触っていたのですが、いままでだとOpenAPIの定義が必要だったり少し手間なことがありましたが、今回の新機能だとサンプルのレスポンスから作成できるので
以前より登録がかなり楽になりました!Spring '23楽しみですね!
では、また別の機能をご紹介しようと思います。
ほぼ、Salesforceネタを書いている1人アドベントカレンダーもやっておりますので
興味がある方は是非見ていただけると幸いです。
参考