WinActorのOAuth関連ライブラリを使用して、Salesforce Lightning Platform (以降、Salesforceと記載します。) の Leadオブジェクトのデータを更新するサンプルシナリオについて説明します。
本サンプルシナリオは、以下の処理を行います。
本サンプルシナリオでは、以下のWinActorモジュールを使用します。
ノード/変数/変数値設定
01_WinActor制御/02_シナリオ制御/シナリオ停止.ums5
07_文字列操作/03_連結/文字列の連結(3つ).ums5
13_ファイル関連/05_ファイル名/シナリオフォルダのファイルパス.ums5
18_Excel関連/01_ファイル操作/Excel操作(保存なしで閉じる).ums5
99_外部サービス連携/01_OAuth関連/RESTful API実行.ums5
Excelファイルを入力ファイルとします。
シナリオ内でExcelファイルをオープンし、処理を実施するのに必要な情報を取得します。
入力ファイルの詳細は入力ファイルの形式を参照してください。
更新時の実施結果を、JSON形式のログファイルとして保存します。
詳細はログファイルを参照してください。
本ドキュメントは、以下の技術レベルのユーザを対象としています。
サンプルシナリオは以下の環境で確認しています。
本サンプルシナリオの実施方法は以下の通りです。
本サンプルシナリオでSalesforce にアクセスする場合、Salesforce 側にも接続用のアプリケーションが必要です。まだ 接続アプリケーションを作成していない場合は、 Salesforce.com日本語公開ヘルプサイトの「接続アプリケーションの作成」 を参照して、以下の接続アプリケーションを作成してください。
本サンプルシナリオ(SS1903_5448_AccessSalesforceLead_Update.ums5)が格納されているディレクトリに移動します。
このディレクトリに入力ファイルを配置します。
本サンプルシナリオには、サンプルのExcelファイルが添付されていますが、入力されているIDが異なるため、このファイルを使用して更新を行うことができません。
本サンプルシナリオを実行する場合、登録を行ったときに自動付与されたIDが入った入力ファイルが必要です。
以下の手順で入力ファイルを作成します。
WinActorを起動し、本サンプルシナリオを読み込みます。
Salesforceの接続アプリケーションにアクセスするための値を、変数一覧で設定します。
アクセス用情報の設定 を参照してください。
本サンプルシナリオを実行するために必要な値を、変数一覧で更新します。
本サンプルシナリオの実行にあたり、事前に設定が必要な変数は下記の通りです。
本サンプルシナリオを実行開始します。
入力ファイルにあるデータをすべて実施するまで、シナリオはループします。
Salesforceのサイトにアクセスし、Excelに格納されていたデータが、すべて更新されていることを確認してください。
本サンプルシナリオでは、シナリオ固有のエラーメッセージ、および使用しているライブラリ由来のエラーメッセージを表示することがあります。
以下に、シナリオ固有のエラーメッセージについて記載します。
エラーメッセージ | エラー内容 |
---|---|
ヘッダに情報がありません。 処理を中断します。 |
入力ファイルのヘッダ(1行目)に項目名がありません。 注:ヘッダにID列しかない場合も登録する項目がないため、有効情報なしとみなします。 |
ヘッダ内にID列がありません。 処理を中断します。 |
入力ファイルのヘッダ(1行目)にID列がありません。 |
ライブラリ由来のエラーメッセージについては、ライブラリのエラーメッセージ一覧を参照してください。
本サンプルシナリオで使用している実装テクニックについて説明します。
入力ファイル(Excel)は以下の形式をとります。
行番号 | 指定内容 | 詳細 |
---|---|---|
1行目 | ヘッダ | ID 、および更新対象のデータの項目名。1列1項目名12 |
2行目以降 | 更新データ | 更新用情報。項目名分格納すること。 |
更新時に何のデータを書き込むかを、入力ファイルの1行目ヘッダで指定します。
必須項目を含め、任意の項目を更新対象とすることができます。
しかし、必須項目を更新対象とした場合はその更新文字列が空の時にはエラーとなります。
また、更新するいずれかのデータが最大長を超える場合、更新処理がエラーとなります。
本サンプルシナリオで確認している項目については、Salesforce Leadのデータ項目 を参照してください。
Salesforceでは、Lead等の各オブジェクトに新しいデータを追加したり、データ形式を変更することができます。
Leadの初期値に無い項目を指定することも可能ですが、本サンプルシナリオでは、Leadの初期状態でのみ動作確認を行っています。
本サンプルシナリオは、Excelのセルの表示上の文字列をSalesforceに保存します。
入力ファイルを自作する場合は、表示上の文字列が正しいかを確認してください。
セルに以下のようなデータを格納している場合、Excelのセル書式によっては表示が変換されていることがあります。
セルに入力した値 | 入力例 | Excelの表示例 | 標準書式時にExcelで表示される値 |
---|---|---|---|
数値や数式と認識されるデータ | 0120156489 | 120156489 | 先頭の0が欠落したり、数式の計算結果が表示されます。 |
12桁以上の数値データ | 123456789123406 | 1.23457E+14 | 指数表記になります。 |
日付と認識されるデータ | 11/9 | 11月9日 | 日付のフォーマットに変換されます。 |
入力した通りの値をSalesforceに保存したい場合、これらの文字列が格納されるセルの書式を、事前に文字列に設定してから値を入力してください。
本サンプルシナリオは、「JSONファイル作成」処理で、Excel上の1行(1レコード)毎に1つのJSONファイルを作成します。
「JSONファイル作成」処理では、以下の処理を実施します。
Excelの1行分のデータをJSON形式の文字列にします。
この時、本サンプルシナリオでは以下の文字のみエスケープを行います。
上記以外に何らかのエスケープ処理を埋め込む場合は、この「JSONファイル作成」処理に追加してください。
作成した文字列をUTF8に変換して、ファイル出力します。
ここで作成されたファイルが RESTful API実行.ums5 ライブラリを経由してSalesforceに渡されます。
本サンプルシナリオは、「登録結果確認」処理で、Salesforceから送られた実施結果のJSONファイルを解析します。
「登録結果確認」処理では、以下の処理を実施します。
実施結果が「False」だった場合、「エラー内容取得」処理で実施結果のファイルからerrorコード、errorメッセージを取得します。
本サンプルシナリオでは、変数一覧で指定された [ログフォルダ/log] のディレクトリにログを出力します。
どちらのファイルも、更新データの数だけ出力されます。
ログファイル名 | ログ内容 |
---|---|
RequestJson_x行目_{日時}.txt | 更新時に作成したJSONファイル。 x:入力ファイル内の行番号 日付:更新実施日時。YYYYMMDDhhmmssの形式 |
ResponseJson_ZZx行目_{日付}.txt | 更新の実施結果を格納したJSONファイル。 ZZ:実施結果。正常終了時はOK、異常終了時はNG。 x:入力ファイル内の行番号 日付:更新実施日時。YYYYMMDDhhmmssの形式 |
版数 | 日付 | 修正内容 |
---|---|---|
1.0版 | 2019/03/25 | 初版 |
1.1版 | 2023/06/12 | 注意事項を削除 |