在iFrame中将带有参数的网址嵌入(Google DataStudio报表)

时间:2019-09-03 04:41:31

标签: html iframe google-data-studio

我正在尝试将Google Data Studio报表URL作为iframe嵌入到Wordpress中。

使用Data Studio提供的报告URL(嵌入式报告)时,它可以正常工作: <iframe width="600" height="450" src="https://datastudio.google.com/reporting/1FcmV-tCfAEu-WdUk73QWPjRoiSEPuHIf/page/J09y" frameborder="0" style="border:0" allowfullscreen></iframe>

当URL带有用于行级过滤数据的参数时,它不起作用: <iframe width="600" height="450" src="https://datastudio.google.com/reporting/1FcmV-tCfAEu-WdUk73QWPjRoiSEPuHIf/page/J09y?config=%7B%22walcid%22%3A%7B%22walcid%22%3A%22abcd1234%22%7D%7D" frameborder="0" style="border:0" allowfullscreen></iframe>

但是,当您将其直接粘贴到浏览器中时,该URL会起作用。 https://datastudio.google.com/reporting/1FcmV-tCfAEu-WdUk73QWPjRoiSEPuHIf/page/J09y?config=%7B%22walcid%22%3A%7B%22walcid%22%3A%22abcd1234%22%7D%7D

Google试图防止Data Studio报告网址包含参数时跨域加载/嵌入。您能想到一种在我控制的域内加载参数化URL的方法吗?

我尝试了<iframe> <embed> <object>,但似乎无济于事。

任何指针表示赞赏!

3 个答案:

答案 0 :(得分:2)

您的src URL不太正确。他们在embedhttps://datastudio.google.com/之间缺少/reporting/...,例如:

src="https://datastudio.google.com/embed/reporting/1FcmV-tCfAEu-WdUk73QWPjRoiSEPuHIf/page/J09y"

答案 1 :(得分:1)

您好,我知道这可能是一个旧线程,但是我想帮助任何可能遇到此问题的人。

public static void CreateExcelfile() { Excel.Application oXL = new Excel.Application(); Excel.Workbook oWB = oXL.Workbooks.Add(); oWB.SaveAs("C:\\Users\\konanki\\Documents\\Sample.xlsm", XlFileFormat.xlOpenXMLWorkbookMacroEnabled, AccessMode: XlSaveAsAccessMode.xlNoChange); oWB.Close(true); } (查询参数的键)替换为params。如果您正在使用嵌入。

原始嵌入的iframe应该看起来像

config

如果您想使用参数,可以将其设为

<iframe width="600" height="450" 
src="https://datastudio.google.com/embed/reporting/1FcmV-tCfAEu-WdUk73QWPjRoiSEPuHIf/page/J09y" frameborder="0" style="border:0" allowfullscreen>
</iframe>

我认为您在网址<iframe width="600" height="450" src="https://datastudio.google.com/embed/reporting/1FcmV-tCfAEu-WdUk73QWPjRoiSEPuHIf/page/J09y?config=%7B%22walcid%22%3A%7B%22walcid%22%3A%22abcd1234%22%7D%7D" frameborder="0" style="border:0" allowfullscreen> </iframe> 之后错过了/embed/

我在https://developers.google.com/datastudio/solution/viewers-cred-with-3p-credentials

中找到了这个

数据工作室的文档仍然需要改进。

希望这可以为您提供帮助。

答案 2 :(得分:0)

以下方法对我来说效果很好。

  1. 创建报告 - 添加控件并指定要作为过滤依据的字段。
  2. 确保报告正确共享并可供所有人查看。
  3. 转至文件 > 报告设置。确保选中“在报告链接中启用查看器过滤器”,这至关重要
  4. 通过点击共享菜单中的嵌入报告生成 iframe,保留该 iframe。
  5. 现在在查看模式下,使用带有过滤器的图表/表格。这将为该过滤器生成一个唯一的 url,因此如果您要与某人共享此 url,它将使用您指定的过滤器打开。
  6. 获取这个新网址并将其替换到 iframe src 标签中,确保将“嵌入”添加到该线程中其他答案中指定的新网址中。
  7. 查看 url,您应该会看到您的过滤器值,您现在可以以编程方式替换 url 中的此值。
  8. 如果您想阻止人们应用不同的过滤器,您可以通过覆盖一个白色/背景匹配矩形来隐藏报告中的过滤器。这是一种非常肮脏的做法,但也是最有效的。

iframe 中的 url 应该与此类似..

`https://datastudio.google.com/embed/reporting/foobar010120${FILTERVALUE}%20fhac`

或者你可以这样做:

let filterValue = 'a_specific_user_name';
url = `https://datastudio.google.com/embed/reporting/foobar010120${filterValue}%20fhac`;

然后在 iframe 中,只需添加 src={url}