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

时间:2017-09-20 13:27:37

标签: google-data-studio

社区连接器功能非常新,我搜索过,没有太多信息。我们正在构建社区连接器,以使Data Studio能够从Google My Business Insights中提取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;
}

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

2 个答案:

答案 0 :(得分:3)

getData()getSchema()getConfig()函数都使用参数调用(在文档中称为" request")。该参数是一个包含每个阶段各种信息的对象。

  • getConfig()阶段,它包含一个名为languageCode的属性,在我的情况下设置为'en-GB'
  • getSchema()阶段提供了一个名为configParams的属性,该属性基本上是用户设置后getConfig()中所有设置的结果。
  • 最后,getData()获取的信息最多,包括分页的开始和结束行,此请求是否用于提取Google的示例数据以运行启发式,最重要的是:configParams

以下是示例request对象的外观:

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

  pagination: {                   //////-Only getData()
    startRow: 1,                    ////-|
    rowCount: 100                   ////-+
  },                                  //

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

  scriptParams: {                  //////-Only getData()
    sampleExtraction: true           ////
  },                                   //

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

请注意
  您当前设置为name的代码中的SELECT_SINGLE字段更适合称为location,因为它是您以后如何访问它的。
  你会这样   访问:
  request.configParams. location
  而不是   request.configParams. SELECT_SINGLE
  :)

答案 1 :(得分:0)

用户选择将传递到configParams对象下的getSchema()getData()个请求。

使用您的示例,我们假设用户在配置屏幕中选择altLocationName。在您的getSchema()和getData()函数中,request.configParams.SELECT_SINGLE应返回altName