我创建了一个连接器,该连接器从API提取CSV并在表格中显示数据。在几乎所有情况下,它都能很好地工作。
但是,由于未知原因,当我想显示一些列时,不会调用getData方法。我使用Utilities.parseCsv,所以我认为它不是来自CSV的,因为它可以与其他列一起使用。无效的列似乎格式正确...
getData()方法:
function getData(request) {
console.log(request);
var indexes = [];
try {
// Fetch the CSV and return the schema and the CSV as a string
var response = connectAndParse(request)
// Find the columns to display
var requestedSchema = request.fields.map(function (field) {
for (var i = 0; i < response.schema.length; i++) {
if (response.schema[i].name == field.name) {
indexes.push(i);
return response.schema[i];
}
}
});
// Build the data to display
var rows = [];
response.csv.forEach(function(row, i){
var splittedRow = Utilities.parseCsv(row)[0];
if (!splittedRow || splittedRow.length !== response.schema.length) {return;}
var contentRow = indexes.map(function (index) {
return splittedRow[index];
});
if (contentRow && parseInt(contentRow.length) > 0) {
rows.push({values: contentRow});
}
});
return {
schema: requestedSchema,
rows: rows
};
} catch(error) {
console.log(error);
}
}
我认为未调用该方法,因为第一个console.log没有显示在StackDriver日志中,但是也许我遗漏了一些东西...