[toc]
概要
本記事では、D3Workerの「Salesforce Files [文書化] - セッション」サービスの設定方法を説明します。
セッションIDを使用して動的にSalesforceへ接続し、異なる組織やユーザーからファイルを取得する手順を分かりやすくご紹介します。
前提条件
- D3Workerへのログイン権限があること
- 文書取得元のSalesforce組織へのアクセス権限があること
- Salesforceの組織情報(インスタンスURL、組織ID、ユーザーID)を確認できること
Salesforce Files [文書化] - セッションサービス
Salesforce Files [文書化] - セッションサービスは、Salesforce Files上のファイルを文書として扱うサービスです。 ライブラリまたは添付からファイルを取得します。
「Salesforce Files [文書化]」サービスとの主な違いは、接続方法にあります。
Salesforce Files [文書化]
事前にSalesforceの接続情報をサービス設定に登録します。固定の組織・ユーザーで文書を取得します。
Salesforce Files [文書化] - セッション
リクエストの度にセッションIDをやり取りすることで、Salesforceへの接続を行います。 リクエストの内容に応じて異なる組織やユーザーを使用して文書を取得することが可能です。
サービスの設定方法
1. D3Workerへログインする
D3Workerの画面にログインします。
2. 「サービス」タブを選択する
ログイン後、画面上部の「サービス」タブを選択します。
3. 新規サービスを作成する
「新規作成」ボタンをクリックして、新しいサービスを定義します。
4. サービスタイプを選択する
サービスタイプの選択画面で「Salesforce Files [文書化] - セッション」を選択します。
ご利用中のD3Workerテナントに当サービスが存在しない場合は、弊社サポートにお問い合わせください。
5. サービス内の各項目を設定する
「Salesforce Files [文書化] - セッション」サービスで使用するセッションIDについては、セッションID用のエンベロープパラメータを用意し、D3Workerのデータソース経由で受け渡します。
以下の4つの項目を設定してください。
| 項目名 | 説明 |
|---|---|
| インスタンスURL | 文書取得元Salesforce組織のインスタンスURLを入力します。 インスタンスURLは https://{インスタンス名}.salesforce.com の形式です。 インスタンス名はSalesforceの設定の組織情報から確認できます。 |
| セッションID | セッションIDを指定します。 サービス設定画面では指定せず、エンベロープ設定画面でセッションID用のエンベロープパラメータを用意します。 |
| ユーザーID | 文書取得元Salesforce組織にログインするユーザーIDを入力します。 |
| 組織ID | 文書取得元Salesforce組織の組織IDを入力します。 |
上記の一覧に記載した項目より下の各設定項目は、D3Workerのサービス設定(Salesforce Files [文書化])で説明しているファイル取得方法(ライブラリ・フォルダ、オブジェクトのレコード、ファイルのID)と同じです。
制限事項
1度に取得可能なファイル数は、10件かつ20MBまでです。
補足:接続情報をレコードから取得する方法
「 - セッション」が付いている方の Salesforce Files サービスでは、セッションID、組織ID、ユーザーID、インスタンスURLの4つの接続情報情報が必要です。
対象の Salesforce オブジェクトにカスタム数式項目を作成することで、レコードから直接値を取得できます。
カスタム数式項目の設定内容
以下の表に従い、対象のSalesforceオブジェクトにカスタム数式項目を作成してください。
| 表示ラベル | API参照名 | データ型 | 数式 |
|---|---|---|---|
| セッションID | SessionId | 数式(テキスト) | $Api.Session_ID |
| 組織ID | OrgId | 数式(テキスト) | $Organization.Id |
| ユーザーID | UserId | 数式(テキスト) | $User.Id |
| インスタンスURL | InstanceURL | 数式(テキスト) | LEFT($Api.Partner_Server_URL_350, FIND("/services/Soap/", $Api.Partner_Server_URL_350)) |
上記 4項目(セッションID、組織ID、ユーザーID、インスタンスURL)はすべて数式項目のため、ユーザーがアクセス・参照するたびに評価され、値が変動します。
組織IDとユーザーIDが固定の場合は、「セッションID」と「インスタンスURL」の2つの項目のみ作成で問題ありません。
その場合、サービス設定画面で組織ID・ユーザーIDの固定値を直接指定してください。