为什么 getFields() 返回一个空对象?

Why is getFields() returning an empty object?

我正在开发 Google Data Studio 社区连接器,我试图只显示一个字段作为开始。所有代码都在 code.gs 文件中,除了 getAuthType() 和 isAdminUser() 在 Auth.gs.

问题是调用 getData() 后,getFields() return 是一个空对象。这是日志:

看起来 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() 到 return 空对象的东西,根据我所拥有的。有什么想法吗?

我认为 getFields() 返回一个空对象导致我的应用程序无法正确显示字段,但问题是我传递给应用程序的数据格式不正确。

getFields() 在使用 build() 调用之前没有用(即 getFields().build() )

我认为单独为 getFields() 接收一个空对象是预期的行为。