getconfig() 用于社区连接器,如何使用用户输入

1 google-data-studio

社区连接器功能很新,我搜了一下,资料不多。我们正在构建一个社区连接器,以使数据洞察能够从“Google 我的商业洞察”中提取 API 数据。

此处描述了 getconfig() 函数:https : //developers.google.com/datastudio/connector/reference#getconfig

我们可以向用户显示我们的配置选项,这很容易,但 API 参考不清楚下一步是什么:如何将用户输入传递给下一步。如果我在这里没有使用正确的术语,请原谅我。

    var config = {
    configParams: [
      {
      "type": "SELECT_SINGLE",
      "name": "SELECT_SINGLE",
      "displayName": "Select a Location",
      "helpText": "Pick One!",
      "options": [
        {
          "label": locationName,
          "value": name
        },
        {
          "label": "altLocationName",
          "value": "altName"
        }
      ]
    },
    ]
  };
  return config;
}
Run Code Online (Sandbox Code Playgroud)

前面的代码正确显示给用户,用户可以在进行初始数据连接时从 Data Studio 的下拉菜单中进行选择。但是以另一种方式重复这个问题:我们如何访问用户选择的选择?

Jer*_*emy 5

getData()getSchema()getConfig()功能都调用的参数(这就是所谓的文档中的“请求”)。参数是一个对象,包含每个阶段的各种信息。

  • getConfig()舞台上,它包括一个名为 的属性languageCode,在我的情况下设置为'en-GB'
  • getSchema()阶段提供了一种叫做属性configParams,这基本上是所有设置在结果getConfig()用户设置后他们。
  • 最后,getData()获取最多的信息,包括此请求是否用于提取示例数据以供 google 运行启发式算法,最重要的是:再次将configParams.

示例request对象可能如下所示:

{                               //------ Present in:
  languageCode: en-GB,            //////-Only getConfig()

  configParams: {                 //////-getSchema() + getData()
    SELECT_SINGLE: altName          ////-+
  },                                   //

  scriptParams: {                  //////-Only getData()
    sampleExtraction: true           ////-|
    lastRefresh: 'new Date()'        ////-+
  },                                   //

  fields: [                        //////-Only getData()
    { name: FooAwesomeness },        ////-|
    { name: BarMagicality },         ////-|
    { name: BazPizzazz }             ////-+
  ]                                    //

  dimensionsFilters: [             //////-Only getData()
    [{                                 // |
      fieldName: "string",           ////-|
      values: ["string", ...],       ////-|
      type: DimensionsFilterType,    ////-|
      operator: Operator             ////-+
    }]                                 //
  ]                                    //
}                                //------
Run Code Online (Sandbox Code Playgroud)

请注意,当前设置为 的代码
中的name字段SELECT_SINGLE更适合调用,location因为它决定了您稍后访问它的方式。
通过这种方式,您将访问: 而不是 :)
request.configParams.location

request.configParams.SELECT_SINGLE


另请注意 ,指定配置屏幕的格式已更新。您的配置现在可以按如下方式完成:

function getConfig(request) {
 var cc = DataStudioApp.createCommunityConnector();
 var config = cc.getConfig();
 config
     .newSelectSingle()
     .setId('location') // You can call this "location"
     .setName('Select a Location')
     .setHelpText('Pick One!')
     .addOption(config.newOptionBuilder()
       .setLabel('Location Name')
       .setValue('value'))
     .addOption(config.newOptionBuilder()
       .setLabel('Alternate Location Name')
       .setValue('altValue'))

 config.setDateRangeRequired(true);
 config.setIsSteppedConfig(false);

 return config.build();
}
Run Code Online (Sandbox Code Playgroud)

请参阅:连接器 API 参考
请参阅:构建连接器指南