はじめに
WinActorのOAuth関連ライブラリを使用して、Salesforce Lightning Platform (以降、Salesforceと記載します。) の Leadオブジェクトのデータを削除するサンプルシナリオについて説明します。
本サンプルシナリオの概要
本サンプルシナリオは、以下の処理を行います。
- OAuthを使用して、Salesforce のアクセストークンを取得します。
- ExcelファイルからID情報を読み出します。
- OAuthを使用して、SalesforceのLeadから指定IDのデータ削除を行います。
- 全データ分処理を実施した後、使用したSalesforce のアクセストークンを開放します。
使用するWinActorモジュール
本サンプルシナリオでは、以下のWinActorモジュールを使用します。
- ノード/アクション/スクリプト実行
- ノード/アクション/クリップボード
- ノード/ユーザ/待機ボックス
- ノード/変数/カウントアップ
ノード/変数/変数値設定
01_WinActor制御/02_シナリオ制御/シナリオ停止.ums5
- 07_文字列操作/03_連結/文字列の連結(2つ).ums5
07_文字列操作/03_連結/文字列の連結(3つ).ums5
- 13_ファイル関連/02_ファイル操作/ファイル移動.ums5
- 13_ファイル関連/02_ファイル操作/ファイル削除.ums5
- 13_ファイル関連/02_ファイル操作/ファイル存在有無チェック.ums5
- 13_ファイル関連/03_フォルダ操作/フォルダ作成.ums5
13_ファイル関連/05_ファイル名/シナリオフォルダのファイルパス.ums5
- 18_Excel関連/01_ファイル操作/Excel開く(前面化).ums5
- 18_Excel関連/01_ファイル操作/Excel操作(保存なしで閉じる).ums5
18_Excel関連/03_行列操作/Excel操作(行コピー).ums5
- 99_外部サービス連携/01_OAuth関連/アクセストークンの取得.ums5
- 99_外部サービス連携/01_OAuth関連/アクセストークンの取り消し.ums5
99_外部サービス連携/01_OAuth関連/RESTful API実行.ums5
本サンプルシナリオの入力ファイル
Excelファイルを入力ファイルとします。
シナリオ内でExcelファイルをオープンし、処理を実施するのに必要な情報を取得します。
入力ファイルの詳細は入力ファイルの形式を参照してください。
本サンプルシナリオの出力ファイル
削除時の実施結果を、JSON形式のログファイルとして保存します。
詳細はログファイルを参照してください。
本サンプルシナリオの想定レベル
本ドキュメントは、以下の技術レベルのユーザを対象としています。
- Salesforce の REST API の使い方について理解している。
- OAuth認証の用語について理解している。
動作確認環境
サンプルシナリオは以下の環境で確認しています。
- Windows 10
- WinActor 5.3.1
- Microsoft Excel 2016
- Salesforce REST API v44.0
制約事項
- 本サンプルシナリオを実行するためには、Salesforce Lightning Platform Developer Editionにアクセスするためのインターネット環境が必要です。
- 本サンプルシナリオおよびドキュメントは、Salesforce Lightning Platform Developer Edition のアカウントを新規作成した状態を前提に記載されています。
- Salesforce Lightning Platform Developer Editionの利用方法やREST APIの使用、OAuth認証用パラメータの取得方法などは、Salesforce社のドキュメントを参照してください。
- 本サンプルシナリオは WinActor 5.3.1 でサポートされた機能を使用しています。WinActor 5.3.1 より古いバージョンでは動作しません。
- 本サンプルシナリオは、大量データでの動作は未検証です。問題が発生した場合は、一度に削除するデータ量を減らすことにより処理を何回かに分割してみてください。
本サンプルシナリオの使い方
本サンプルシナリオの実施方法は以下の通りです。
Step 1. Salesforceの接続アプリケーション設定
本サンプルシナリオでSalesforce にアクセスする場合、Salesforce 側にも接続用のアプリケーションが必要です。まだ 接続アプリケーションを作成していない場合は、 Salesforce.com日本語公開ヘルプサイトの「接続アプリケーションの作成」 を参照して、以下の接続アプリケーションを作成してください。
- OAuth 設定の有効
- データへのアクセスと管理 (api)実施可能
- Web サーバフローの秘密が必要
- 存在しないURLのコールバックを指定(例:mysampleapp://auth/success)
Step 2. 入力ファイルを作成し、ディレクトリに配置
本サンプルシナリオ(SS1903_5448_AccessSalesforceLead_Remove.ums5)が格納されているディレクトリに移動します。
このディレクトリに入力ファイルを配置します。
本サンプルシナリオには、サンプルのExcelファイルが添付されていますが、入力されているIDが異なるため、このファイルを使用して、削除を行うことができません。
本サンプルシナリオを実行する場合、登録を行ったときに自動付与されたIDが入った入力ファイルを使用する必要があります。
以下の手順で入力ファイルを作成します。
- 取得シナリオを実施した結果が入ったExcelファイルを、本サンプルシナリオのあるディレクトリにコピーする。
- コピーしたExcelファイルを開き、削除するデータ以外の行を行削除する。
- ファイルを保存する。
Step 3. WinActorで本サンプルシナリオを読み込み
WinActorを起動し、本サンプルシナリオを読み込みます。
Step 4. Salesforceアクセス用情報を設定
Salesforceの接続アプリケーションにアクセスするための値を、変数一覧で設定します。
アクセス用情報の設定 を参照してください。
Step 5. 入力ファイル名を設定
本サンプルシナリオを実行するために必要な値を、変数一覧で更新します。
本サンプルシナリオの実行にあたり、事前に設定が必要な変数は下記の通りです。
- 入力ファイル
- 本サンプルシナリオの入力ファイル名を指定します。
例) sample.xlsx
- 本サンプルシナリオの入力ファイル名を指定します。
Step 6. WinActorで本サンプルシナリオを実行
本サンプルシナリオを実行開始します。
入力ファイルにあるデータをすべて削除するまで、シナリオはループします。
Step 7. サンプルシナリオ実行終了後の確認
Salesforceのサイトにアクセスし、Excelファイルに格納されていたデータがすべて削除されていることを確認してください。
トラブルシューティング
本サンプルシナリオでは、使用しているライブラリ由来のエラーメッセージを表示することがあります。
ライブラリ由来のエラーメッセージについては、ライブラリのエラーメッセージ一覧を参照してください。
サンプルシナリオ解説
本サンプルシナリオで使用している実装テクニックについて説明します。
入力ファイルの形式
入力ファイル(Excel)は以下の形式をとります。
行番号 | 指定内容 | 詳細 |
---|---|---|
1行目 | ヘッダ | ID 、(その他任意のデータ名)12 |
2行目以降 | 削除対象データを示すID | 削除用情報。A列にIDが格納されていること。(B列以降は任意) |
どのデータを削除するかを、入力ファイルのA列から取得します。
1行目はヘッダとみなし、2行目(A2)からデータを取得します。 「ID」列だけが入力されているファイル、「ID」列とその他の項目が登録されているファイル、どちらでも実行が可能です。
Salesforceに送る情報(RESTful API実行.ums5ライブラリのRESTful API URLパス名)
本サンプルシナリオは、送信用データファイルを使用しません。
「RESTful API URLパス名」に、削除するデータのID番号を付与して、RESTful API実行.ums5ライブラリを実施します。
Salesforceの実施結果取得(RESTful API実行.ums5 ライブラリの受信用データファイル)
本サンプルシナリオは、「削除結果確認」処理で、Salesforceから送られた実施結果のJSONファイルを解析します。
「削除結果確認」処理では、以下の処理を実施します。
- ファイルをUTF8として読み出します。
- 読み出した結果をHtmlFile オブジェクトを使用して、JSONParse します。
- パースされたJSONのデータから、実施結果の情報を取得します。
実施結果が「False」だった場合、「エラー内容取得」処理で実施結果のファイルからerrorコード、errorメッセージを取得します。
ログファイル
本サンプルシナリオでは、変数一覧で指定された [ログフォルダ/log] のディレクトリにログを出力します。
どちらのファイルも、削除データの数だけ出力されます。
ログファイル名 | ログ内容 |
---|---|
ResponseJson_ZZx行目_{日付}.txt | 削除の実施結果を格納したJSONファイル。 ZZ:実施結果。正常終了時はOK、異常終了時はNG。 x:入力ファイル内の行番号 日付:削除実施日時。YYYYMMDDhhmmssの形式 |
変更履歴
版数 | 日付 | 修正内容 |
---|---|---|
1.0版 | 2019/03/25 | 初版 |
1.1版 | 2023/6/12 | 注意事項を削除 |