You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Data Studio社区连接器如何在App Script中获取嵌入URL参数

实现步骤

1. 调整getConfig()配置,声明可从URL捕获的参数

在你的社区连接器getConfig()方法中,添加对应access_token的配置项,开启URL参数捕获能力,配置时注意两个核心属性:

  • 配置项的key值与你后续传递的参数名保持一致
  • 显式设置isDynamic: true,允许该配置项从嵌入URL参数中取值
    不需要用户手动输入的话,可以设置type: 'TEXT'同时加hidden: true隐藏字段。
    示例代码:
function getConfig(request) {
  var config = cc.getConfig();
  
  // 其他原有配置项保留即可
  
  // 可选:添加提示信息,避免用户疑惑
  config.newInfo()
    .setId('access_token_info')
    .setText('系统自动获取访问权限,无需手动填写');
  
  // 核心配置:声明access_token参数
  config.newTextInput()
    .setId('access_token')
    .setName('访问令牌')
    .setIsDynamic(true)
    .setHidden(true);
  
  return config.build();
}

2. 嵌入URL的参数拼接规则

你在Anvil端拼接Data Studio(现名Looker Studio)嵌入URL时,参数名需要添加ds.config.前缀,和上述配置项的key对应,格式如下:
https://lookerstudio.google.com/embed/reporting/你的报表ID?ds.config.access_token=你生成的令牌值
注意access_token需要做URL编码,避免特殊字符导致解析失败。

3. 在连接器逻辑中提取参数值

在getData()或者其他需要校验权限的逻辑中,直接从request对象的configParams字段读取捕获到的令牌即可,示例:

function getData(request) {
  // 提取从URL捕获的access_token
  const accessToken = request.configParams.access_token;
  // app_secret请存储在App Script脚本属性中,不要硬编码
  const appSecret = PropertiesService.getScriptProperties().getProperty('APP_SECRET');
  
  // 令牌不存在直接抛出错误
  if (!accessToken) {
    cc.newUserError()
      .setText('无效的访问权限,请刷新页面重试')
      .throwException();
  }
  
  // 后续执行原有逻辑:调用Anvil API校验令牌、获取权限、构造BigQuery查询即可
}

注意事项

  • 敏感配置如app_secret请存储在App Script的「项目属性 - 脚本属性」中,不要硬编码在代码里,避免泄露
  • 如果令牌过期,连接器抛出错误后,你可以在Anvil前端监听iFrame加载状态,重新生成令牌刷新嵌入URL即可

内容的提问来源于stack exchange,提问作者JB_80

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 15:42:02