WSProxy を介した偽装
WSProxy を介した作成
WSProxy を介した更新
WSProxy を介した削除
WSProxy を介した基本的な取得
WSProxy を介した高度な取得
WSProxy を介した実行 (Perform)
WSProxy を介した構成
WSProxy を介した実行 (Execute)
WSProxy を介した記述
より複雑な取得を実行できます。たとえば、取得要求で SOAP RetrieveOptions などの他のプロパティを設定できます。
この例では、RetrieveOption プロパティの「BatchSize」は有効な値ではありません。これは単にプロパティの設定方法を示す例です。
1var prox = new Script.Util.WSProxy();
2var props = { QueryAllAccounts: true };
3var cols = ["Name","CustomerKey","CategoryID","IsSendable"];
4var filter = {
5 Property: "CategoryID",
6 SimpleOperator: "equals",
7 Value: 101367
8};
9var opts = {
10 BatchSize: 25
11};
12var data = prox.retrieve("DataExtension", cols, filter, opts, props);さらにページを取得するには、getNextBatch 関数を使用します。
この例では、アカウント内のすべてのメールをループ処理し、Name プロパティを書き込み、すべてのアイテムを出力した後、返された合計数を出力します。
1var prox = new Script.Util.WSProxy(),
2 objectType = "Email",
3 cols = ["Name"],
4 moreData = true,
5 reqID = null,
6 numItems = 0;
7
8while(moreData) {
9 moreData = false;
10 var data = reqID == null ?
11 prox.retrieve(objectType, cols) :
12 prox.getNextBatch(objectType, reqID);
13
14 if(data != null) {
15 moreData = data.HasMoreRows;
16 reqID = data.RequestID;
17 if(data && data.Results) {
18 for(var i=0; i< data.Results.length; i++) {
19 Platform.Response.Write(data.Results[i].Name);
20 numItems++;
21 }
22 }
23 }
24}
25Platform.Response.Write("<br />" + numItems + " total " + objectType);