我开发了一个Google Apps脚本,用于从Salesforce中的自定义对象中提取一些数据,并按此顺序排列我的列:
SELECT Component__r.Name, Component__c, Product__c, Story_Name__c, Description__c, id , Product_Id__c, Priority__c , StoryName FROM Story__c WHERE Product_Id__c
但是,我在Google电子表格中的结果按此顺序排列:
StoryName Component__r Component__c Product__c Product_Id__c Priority__c Id Description__c Story_Name__c
我被告知,SOQL查询以与查询不同的顺序返回数据并不罕见。有没有人知道用于使列按查询顺序出现在电子表格中的方法/函数/过程?我想在将列放在电子表格之前进行,但如果没有其他方法,那就没关系。
我的数据在此功能中被撤回:
function renderGridData(object, renderHeaders){
var sheet = SpreadsheetApp.getActiveSheet();
var data = [];
var sObjectAttributes = {};
//Need to always build headers for row length/rendering
var headers = buildHeaders(object.records);
if(renderHeaders){
data.push(headers);
}
for (var i in object.records) {
var values = [];
for(var j in object.records[i]){
if(j!="attributes"){
values.push(object.records[i][j]);
} else {
var id = object.records[i][j].url.substr(object.records[i][j].url.length-18,18);
//Logger.log(id);
sObjectAttributes[id] = object.records[i][j].type;
}
}
data.push(values);
}
Logger.log(sheet.getLastRow());
var destinationRange = sheet.getRange(sheet.getLastRow()+1, 1, data.length, headers.length);
destinationRange.setValues(data);
}
感谢您的任何建议。
答案 0 :(得分:1)
Partner SOAP APi是唯一一个尝试将查询中的字段顺序保留到结果结构中的API。
对于来自REST API的基于JSON的响应,JSON明确指出对象键/值是无序的,因此保留顺序的响应需要使用不同的JSON结构(键/值对象数组)更加冗长。