//DelugeにはZohoサービスとの定義済み連携があります。Zoho Sheetにも対応しています
//シートのgetRecords APIを使用すると、シート内のすべてのデータ、または条件に一致する特定のデータを取得できます
//必須パラメーター
//1. リソースID - シートのURLから取得できます
//2. シート名 - 下部に表示されるシートの名前
//4. コネクションリンク名
queryMap = Map();
//条件の形式: 'column name'='column value'
//例: 'Client ID'='1001'
queryMap.put('criteria','\'Client ID\'=' + client_id);
data = zoho.sheet.getRecords('krz56389e2107d77a434ab731d3271a00c77d','Sheet1',queryMap,'zoho_sheet');
//上記の条件に一致するデータを取得します
データ = data.getJson('データ');
//この例ではクライアントIDが一意であるため、データは1件のみ返されます。そのため、インデックス0のデータを取得します
データ = データ.get(0);
//各値を列名で取得します
name = データ.get('Client Name');
contact = データ.get('Contact').toString();
location = データ.get('Location');
info name;
//デバッガーでnameを出力します
paramMap = Map();
//カード更新用にparamsの値を構成します
//Qntrlの関連する項目名にマッピングします
paramMap.put('customfield_shorttext18',name);
paramMap.put('customfield_shorttext16',contact);
paramMap.put('customfield_shorttext11',location);
job = invokeurl
[
type :POST
parameters:paramMap
connection:'zoho_qntrl'
];
info job;
//デバッガーでジョブ更新の応答を出力します
//データの取得時と同じ条件を使用します
newValues = Map();
newValues.put('Status','Updated');
optMap = Map();
updateResp = zoho.sheet.updateRecords('krz56389e2107d77a434ab731d3271a00c77d','Sheet1','\'Client ID\'=' + client_id,newValues,optMap,'zoho_sheet');
info updateResp;