WinActorのOAuth関連ライブラリを使用して、Salesforce Lightning Platform (以降、Salesforceと記載します。) の Leadオブジェクトから、データを取得するサンプルシナリオについて説明します。
本サンプルシナリオは、以下の処理を行います。
本サンプルシナリオでは、以下のWinActorモジュールを使用します。
ノード/変数/変数値設定
01_WinActor制御/02_シナリオ制御/シナリオ停止.ums5
07_文字列操作/03_連結/文字列の連結(2つ).ums5
13_ファイル関連/05_ファイル名/シナリオフォルダのファイルパス.ums5
18_Excel関連/04_セル操作/Excel操作(上書き保存する).ums5
99_外部サービス連携/01_OAuth関連/RESTful API実行.ums5
Excelファイルを入力ファイルとします。
シナリオ内でExcelファイルをオープンし、処理を実施するのに必要な情報を取得します。
入力ファイルの詳細は入力ファイルの形式を参照してください。
Salesforceから取得したJSONファイルを、「入力ファイル名.json」として保存します。
取得したJSONファイルから抽出したデータを、Excelファイルの最後尾に追記します。
本ドキュメントは、以下の技術レベルのユーザを対象としています。
本サンプルシナリオは以下の環境で確認しています。
本サンプルシナリオの実施方法は以下の通りです。
本サンプルシナリオでSalesforce にアクセスする場合、Salesforce 側にも接続用のアプリケーションが必要です。まだ 接続アプリケーションを作成していない場合は、 Salesforce.com日本語公開ヘルプサイトの「接続アプリケーションの作成」 を参照して、以下の接続アプリケーションを作成してください。
本サンプルシナリオ(SS1903_5448_AccessSalesforceLead_Read.ums5)が格納されているディレクトリに移動します。
このディレクトリに入力ファイルを配置します。
本サンプルシナリオには、サンプルのExcelファイル(sample_read_alldata.xlsx)が添付されています。
このファイルを使用して、取得を行うことができます。
他の入力ファイルを使用する場合は、その入力ファイルを、本サンプルシナリオと同じディレクトリに配置します。
WinActorを起動し、本サンプルシナリオを読み込みます。
Salesforceの接続アプリケーションにアクセスするための値を、変数一覧で設定します。
アクセス用情報の設定 を参照してください。
本サンプルシナリオを実行するために必要な値を、変数一覧で更新します。
本サンプルシナリオの実行にあたり、事前に設定が必要な変数は下記の通りです。
本サンプルシナリオを実行開始します。
SalesforceのLeadオブジェクトに登録されている全データを取得します。
Salesforceのサイトにアクセスし、登録されているデータがすべて入力ファイル(Excel)に格納されていることを確認してください。
本サンプルシナリオでは、シナリオ固有のエラーメッセージ、および使用しているライブラリ由来のエラーメッセージを表示することがあります。
以下に、シナリオ固有のエラーメッセージについて記載します。
エラーメッセージ | エラー内容 |
---|---|
ヘッダに情報が入っていません。 処理を中断します。 |
入力ファイルのヘッダ(1行目)に項目名がありません。 |
入力ファイルが存在しません。 処理を中断します。 |
指定された入力ファイルがシナリオと同じディレクトリに存在しません。 |
SalesForceへのログインに失敗しました。 処理を終了します。 【エラーメッセージ】 xxxx(エラーメッセージ) |
アクセストークン取得処理でエラーが発生しました。 詳細はライブラリのエラーメッセージを参照してください。 |
ライブラリ由来のエラーメッセージについては、ライブラリのエラーメッセージ一覧を参照してください。
本サンプルシナリオで使用している実装テクニックについて説明します。
入力ファイル(Excel)は以下の形式をとります。
行番号 | 指定内容 | 詳細 |
---|---|---|
1行目 | ヘッダ | 取得対象のデータの項目名を登録。1列1項目名 1 2 |
2行目以降 | 取得データ格納領域 | 2行目以降が空の場合、2行目から取得データを格納する。空でない場合、最後のデータの次の行から取得データを格納する。 |
何の項目を取得するかを、入力ファイルの1行目にヘッダとして指定します。
必須項目、および任意の項目を指定可能です。
本サンプルシナリオで確認している項目については、Salesforce Leadのデータ項目 を参照してください。
Salesforceでは、Lead等の各オブジェクトに新しいデータを追加したり、データ形式を変更することができます。
Leadの初期値に無い項目を指定して取得することも可能ですが、本サンプルシナリオでは、Leadの初期状態でのみ動作確認を行っています。
本サンプルシナリオでは、RESTful API実行.ums5ライブラリ呼び出し時、「RESTful API URLパス名」にLeadからのデータ取得用SQL文を指定して、全データを取得しています。
取得データの条件を変更したい場合、この「RESTful API URLパス名」に渡す内容「header_tail」(「RESTful API URLパス名」の後半部として使用) を変更すると、参照するオブジェクトを変更したり、出力順番を変更することができます。
Lead以外のオブジェクトから取得したい。
本サンプルシナリオではLeadオブジェクトからデータを取得しています。
異なるオブジェクトからデータを取得したい場合、変数「header_tail」の値を修正してください。
現在の設定:「+from+Lead+Order+by+ID」 ← LeadからID順にデータ取得
参照先変更:「+from+Account+Order+by+ID」 ← AccountからID順にデータ取得
Lead以外のオブジェクトからデータを取得する場合、入力ファイルのヘッダも新しいオブジェクトに沿ったものに変更します。
取得時の順番を変更したい。
本サンプルシナリオではID順にデータを取得しています。
異なる順番でデータを取得したい場合、変数「header_tail」の値を修正してください。
現在の設定:「+from+Lead+Order+by+ID」 ← LeadからID順にデータ取得
取得順変更:「+from+Lead+Order+by+LastName」← LeadからLastName順にデータ取得
RESTful API実行.ums5 ライブラリ呼び出し時、受信したデータはJSON形式で保存されます。
この受信データは、入力ファイルと同じディレクトリに「入力ファイル名.json」の名称で出力されます。 「JSONファイルの解析に失敗しました。」などのエラーが発生した場合、この出力ファイルを参照してください。
本サンプルシナリオは「SalesForce_Leadデータ取得用_JSON→EXCEL出力」処理で、JSONファイルの中身を解析してデータを取得し、Excelに格納する処理を行っています。 内部では、以下の処理を実施しています。
{
"totalSize" : 2, 取得データ数
"done" : true, 実施結果
"records" : [ { 取得したレコードの情報(配列)
"attributes" : { 1レコード目の取得データの属性
"type" : "Lead", 取得データの所属
"url" : "/services/data/v44.0/sobjects/Lead/AAAAAAAAAAAAAAAAAA" 取得データのURL(直接参照する場合のURL)
},
"Id" : "AAAAAAAAAAAAAAAAAA", 取得データ1項目
:
"Status" : "Closed - Converted" 取得データ最終項目
}, { 2レコード目
:
} ]
}
ここで扱うJSONファイルの形式は、Salesforce固有のものを想定しています。
JSONファイルの形式が変わる場合、JSONファイルの形式に合わせて、処理を作成してください。
本サンプルシナリオでは、取得した文字列が数値、日付とみなされる文字列だった場合、また、文字列先頭に「=」が格納されていた場合は、Excelによって変換が行われるのを防ぐため、セルのフォーマットを文字列としてExcelファイルに格納しています。
以下は、数値、日付、先頭が=のデータの場合、セルの書式を文字列にする処理に該当する部分です。
if IsNumeric(detail) or IsDate(detail) or InStr(detail, "=") = 1 Then
worksheet.Cells(xlsx_lineNo + i,1 + j).NumberFormatLocal = "@"
End If
worksheet.Cells(xlsx_lineNo + i,1 + j).value = detail
他の文字列の書式を変更したい場合、また、項目ごとに設定を変更したい場合は、条件文、設定書式を見直す必要があります。
版数 | 日付 | 修正内容 |
---|---|---|
1.0版 | 2019/03/25 | 初版 |
1.1版 | 2023/06/12 | 注意事項を削除 |