社区连接器功能很新,我搜了一下,资料不多。我们正在构建一个社区连接器,以使数据洞察能够从“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 的下拉菜单中进行选择。但是以另一种方式重复这个问题:我们如何访问用户选择的选择?
的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
另请注意 ,指定配置屏幕的格式已更新。您的配置现在可以按如下方式完成:
Run Code Online (Sandbox Code Playgroud)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(); }
请参阅:连接器 API 参考
请参阅:构建连接器指南
| 归档时间: |
|
| 查看次数: |
1364 次 |
| 最近记录: |