私はDomoのAPIからユーザーを引き抜くために取り組んでいます。私はすべてのユーザーを引っ込めようとしており、サイトの別名カスタムフィールドを追加しました。現時点では、1人のユーザーを引き込むだけです。また、obj2ログでは、1つのオブジェクトのみを返します。それはすべてのオブジェクトを返すわけではないので、部門であるID4は決して得られません。それは私たちが使用しているIDの一種であるID 11を出力して停止します。JSONは1つのオブジェクトしか返しません
私は近くにいるように感じる...私が修正する必要があるすべてのポインタ?
私はJavaScriptにとって非常に新しく、親切です!
if(metadata.report == 'User'){
DOMO.log('metadata.reportname: ' + metadata.report);
var base_url = 'https://app.com/api/author/users/';
var res = httprequest.get(base_url);
//DOMO.log('res: ' + res);
var raw = JSON.parse(res);
datagrid.addColumn('id', datagrid.DATA_TYPE_STRING);
datagrid.addColumn('hris_id', datagrid.DATA_TYPE_STRING);
datagrid.addColumn('full_name', datagrid.DATA_TYPE_STRING);
datagrid.addColumn('first_name', datagrid.DATA_TYPE_STRING);
datagrid.addColumn('last_name', datagrid.DATA_TYPE_STRING);
datagrid.addColumn('department', datagrid.DATA_TYPE_STRING);
var users = raw.users;
//DOMO.log('users: ' + JSON.stringify(users));
for(var i = 0; i < users.length; i++){
var obj = users[i];
}
//make new specific request with includes
var temp = obj.id;
var temp2 = '?includes[]=custom_fields';
var uniq_url = base_url.concat(temp.concat(temp2));
//DOMO.log(uniq_url);
var res2 = httprequest.get(uniq_url);
var raw2 = JSON.parse(res2);
//DOMO.log((raw2));
var linked = raw2.linked;
var cf = linked.custom_fields;
var cfv = linked.custom_field_values;
for(var g = 0; g < cfv.length; j++){
var obj2 = cfv[g];
DOMO.log(obj2.value);
}
if (obj2.custom_fields.id == 4){
DOMO.log("Department is: " + obj2.value);
}
//if (obj2.links.custom_field.id == 5){
//DOMO.log('Position is ' + obj2.value);
//DOMO.log('JSON ' + res);
//DOMO.log('id: ' + obj.id);
datagrid.addCell(obj.id);
//DOMO.log('hris_id: ' + obj.hris_id);
datagrid.addCell(obj.hris_id);
//DOMO.log('full_name: ' + obj.hris_id);
datagrid.addCell(obj.full_name);
//DOMO.log('first_name: ' + obj.first_name);
datagrid.addCell(obj.first_name);
//DOMO.log('last_name: ' + obj.last_name)
datagrid.addCell(obj.last_name);
//DOMO.log('value: ' + obj.value);
datagrid.addCell(obj.value);
datagrid.endRow();
}
//Console Log;
metadata.reportname: User
https://app.com/api/author/users/976?includes[]=custom_fields
{"id":"3785","value":"12870","links":{"custom_field":{"id":"11","type":"custom_fields"}}}
興味深いと思いました。私はユーザーだけを引っ張ってテストして、それは完全に正常に動作します。私が// includeで新しい特定のリクエストを作成し始めたとき、コードは1人のユーザーを引き抜き始めました。 forループを変更する必要はありますか? – computerguyinhere
私の編集@computerguyinhereを参照してください –
私は元の記事の残りの部分を既にそこにあった最後の括弧で追加しました。 @Ziv – computerguyinhere