首页 文章

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

提问于
浏览
0

社区连接器功能是非常新的,我搜索过,没有太多信息 . 我们正在构建社区连接器,以使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 回答

  • 3

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

    • getConfig() 阶段,它包含一个名为 languageCode 的属性,在我的情况下设置为 'en-GB' .

    • getSchema() 阶段提供了一个名为 configParams 的属性,该属性基本上是用户设置后 getConfig() 中所有设置的结果 .

    • 最后, getData() 获取最多信息,包括分页的开始和结束行,此请求是否用于提取谷歌运行启发式的样本数据,最重要的是: 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 }             ////-+
      ]                                    //
    }                                //------
    

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

  • 0

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

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

相关问题