首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:通过嵌入URL传递令牌

:通过嵌入URL传递令牌
EN

Stack Overflow用户
提问于 2022-06-19 09:14:09
回答 1查看 282关注 0票数 -1

我很难让一个社区连接器为我正在开发的一个网络应用程序工作。

我用App编写了一个非常基本的连接器,在嵌入式仪表板上执行行级筛选,使用Google提供的以下文档:https://developers.google.com/datastudio/solution/viewers-cred-with-3p-credentials

我的连接器使用getConfig()和getData()将令牌传递到API端点,该API端点返回特定于该用户的数据。

当我通过修改配置在GUI中传递令牌时,连接器工作得很好,但是当我试图使用嵌入的url传递令牌时,连接器就不能工作了。

示例1

用户令牌= 5wKu4QLvc9PC7tkPyg

步骤:

在输入字段中单击“编辑connection"

  • Enter令牌,这是由应用程序脚本中的getConfig()生成的

  • Click "Reconnect"

  • Click”应用“应用”在对话框上,出现

  • Google,正确检索3行数据用于此令牌

G 217

示例2

用户令牌= z6ps6Vhb9hzB333gG4

步骤:

在输入字段中单击“编辑connection"

  • Enter令牌,这是由应用程序脚本中的getConfig()生成的

  • Click "Reconnect"

  • Click”应用“应用”在对话框上,出现

  • Google,正确检索1行数据用于此令牌

G 237

主要问题

当我将嵌入URL用于仪表板时,我注意到App执行日志没有显示正在运行getConfiggetData操作。

最终的结果是令牌似乎根本没有传递到嵌入URL中。数据与基于GUI的报告中的数据相同。

但是,我可以知道嵌入URL正在被调用,因为它在App执行日志中确实调用了getAuthType,请参见下面的图像。(我在晚上9:50:59对GUI进行了更改,随后的时间戳是我试图点击嵌入URL)

示例

下面是我使用的实际嵌入URL的示例:https://datastudio.google.com/embed/reporting/9dea8b8a-5b51-4add-adb2-afda3861b241/page/VXkvC?config=%22%7B%5C%22token%5C%22:%20%5C%22z6ps6Vhb9hzB333gG4%5C%E2%80%9D%7D%E2%80%9D

根据上面的示例2,这个嵌入URL中使用的令牌应该只返回1行数据,但它将返回所有3。

我遵循Google文档,这表明这是要使用的格式:https://datastudio.google.com/embed/reporting/[report_id_here]/page/[page_id_here]?config="{\"token\": \"[token_here]\”}”

我想知道Google文档是否不正确(或)过时了,我的嵌入url是否格式错误?我无法理解这件事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-19 10:12:49

分辨率

  1. --尽管它是getConfig()的一部分,但是很显然,您还必须为报表上的数据源添加一个参数。这将导致参数在所有字段下可见。
  2. 下一步,转到资源>“管理报表url参数”并选中“允许在report中修改”框。注意“名称”字段。我的ds0.token
  3. Finally,使用这个https://datastudio.google.com/embed/reporting/[report_id_here]/page/[page_id_here]?params=%7B"[name_from_step_2]":"[value]"%7D

语法:https://datastudio.google.com/embed/reporting/[report_id_here]/page/[page_id_here]?params=%7B"[name_from_step_2]":"[value]"%7D

为我翻译成:https://datastudio.google.com/embed/reporting/9dea8b8a-5b51-4add-adb2-afda3861b241/page/VXkvC?params=%7B"ds0.token":"12345"%7D

在原始的URL格式中,如下所示:https://datastudio.google.com/embed/reporting/9dea8b8a-5b51-4add-adb2-afda3861b241/page/VXkvC?params=%7B"ds0.token":"12345"%7D

另有一项意见。我正在观察API端点上的日志,我注意到Google缓存它从端点带回的任何数据。因此,如果您在App执行日志中没有看到您已经传递的任何令牌的getData()调用,请不要感到惊讶。只是组成一个新的令牌来查看一个新的getData执行日志。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72675623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档