Salesforce: 取引先の一括取得 (Salesforce: Accounts BatchGet)
Salesforce の取引先の ID、Name をそれぞれデータ項目に格納し、通信ログを文字型データ項目に格納します。
Configs
- A: HTTP認証設定を選択してください(OAuth2) *
- B: サブドメインをセットしてください (https://{subdomain}.salesforce.com/) *
- C: 選択肢IDの一覧が格納される文字列型データを選択してください (更新) *
- D: 選択肢ラベルの一覧が格納される文字列型データを選択してください (更新) *
- E: 通信ログが格納される文字列型データを選択してください (更新)
Script (click to open)
// GraalJS Script (engine type: 2)
// Batch to Get Accounts from Salesforce via Salesforce REST API (ver. 50, Winter'21)
//
// OAuth2 config
// Authorization Endpoint URL: https://login.salesforce.com/services/oauth2/authorize
// Token Endpoint URL: https://login.salesforce.com/services/oauth2/token
// Scope:
// Consumer Key: (Get by Salesforce Connected App screen)
// Consumer Secret: (Get by Salesforce Connected App screen)
//////// START "main()" /////////////////////////////////////////////////////////////////
main();
function main(){
//// == 工程コンフィグの参照 / Config Retrieving ==
const oauth2 = configs.get( "conf_OAuth2" ); //required
const subDomain = configs.get( "conf_SubDomain" ); //required
const strIds = configs.getObject( "conf_DataIdC" ); //required
const strNames = configs.getObject( "conf_DataIdD" ); //required
const strResponse = configs.getObject( "conf_DataIdE" );
//// == ワークフローデータの参照 / Data Retrieving ==
// (Nothing. Retrieved via Expression Language in Config Retrieving)
//// == 演算 / Calculating ==
const uri = "https://" + subDomain + ".salesforce.com/services/data/v50.0/query/";
const response = httpClient.begin()
.authSetting(oauth2)
.queryParam("q", "SELECT Id, Name from Account")
.get(uri);
engine.log( " AutomatedTask ApiRequest Start: " + uri );
const responseCode = response.getStatusCode() + ""; // (primitive string);
const responseBody = response.getResponseAsString() + "";
engine.log( " AutomatedTask ApiResponse Status: " + responseCode );
if( responseCode !== "200" ){
throw new Error( "\n AutomatedTask UnexpectedResponseError: " +
responseCode + "\n" + responseBody + "\n" );
}
let choiseIds = "";
let choiseLabels = "";
const jsonObj = JSON.parse( responseBody );
for( let i = 0; i < jsonObj.records.length; i++ ){
const account = jsonObj.records[i];
choiseIds += account.Id + "\n";
choiseLabels += account.Name + "\n";
}
//// == ワークフローデータへの代入 / Data Updating ==
engine.setData( strIds, choiseIds.slice(0, -1) ); //required, Remove line feed code at the end.
engine.setData( strNames, choiseLabels.slice(0, -1) ); //required, Remove line feed code at the end.
if( strResponse !== null){
engine.setData( strResponse, responseBody );
}
} //////// END "main()" /////////////////////////////////////////////////////////////////
Download
2021-05-28 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/salesforce-accounts-batchget/
Addonファイルのインポートは Professional でのみご利用いただけます
Capture
