【发布时间】:2021-03-25 03:14:55
【问题描述】:
我正在开发一个 Google Data Studio 社区连接器,并且尝试只显示一个字段。所有代码都在 code.gs 文件中,除了 getAuthType() 和 isAdminUser() 在 Auth.gs 中。
问题是一旦调用 getData(),getFields() 返回一个空对象。这是日志:
看起来 getSchema() 工作正常,这是该函数的日志:
这里是 getFields() 函数:
function getFields() {
var fields = cc.getFields();
var types = cc.FieldType;
fields
.newDimension()
.setId('device')
.setName('Device')
.setType(types.TEXT);
return fields;
}
这里是getData():
function getData(request){
console.log('getData request', request);
request.configParams = validateConfig(request.configParams);
console.log('getFields()', getFields(), typeof getFields());
var requestedFields = getFields().forIds(
request.fields.map(function(field){
return field.name;
})
);
try{
console.log('start request');
var apiResponse = fetchDataFromApi(request);
var data = formatData(apiResponse, requestedFields);
}catch (e){
cc.newUserError()
.setDebugText('Error fetching data from API. Exception details: ' + e)
.setText(
'The connector has encountered an unrecoverable error. Please Try again later.'
)
.throwException();
}
return {
schema: requestedFields.build(),
rows: data,
}
}
getSchema():
function getSchema(request){
var schema = {schema: getFields().build()};
console.log(schema);
return schema;
}
社区连接器在同一文件中的所有函数之外初始化:
var cc = DataStudioApp.createCommunityConnector();
我查看了文档,但根据我所拥有的,我找不到任何会导致 getFields() 返回空对象的内容。有什么想法吗?
【问题讨论】:
标签: javascript google-apps-script google-data-studio