首页 > 解决方案 > 使用访问令牌查看报告

问题描述

我正在构建一个嵌入数据工作室报告的 Web 应用程序。我遇到的挑战是我希望只允许从 Web 应用程序内部访问报告。为此,我的想法是不要共享报告并使用访问令牌查看嵌入式报告。

此处的文档说明,在调用 google apis 时,您可以附加访问令牌作为查询参数。这种类型的解决方案适用于来自谷歌驱动器的文件;但是,没有官方 api 来获取数据工作室报告,所以我认为也许通过调用嵌入式链接或预览链接并将访问令牌作为查询参数附加就可以了,但事实并非如此。

例如,假设嵌入的 url 是:
https://datastudio.google.com/embed/reporting/0BxscwH5YAPRRMVRWYTZVOMMptbVk/page/m2YH

如果我在使用有权查看报告的用户登录 google 时尝试在浏览器中访问该 url,我会得到数据。

如果我在使用无权查看报告的用户登录 google 时尝试在浏览器中访问该 url,我会收到一条消息,指出未授权......这是预期的。

现在,我按照此处的步骤操作,并且能够获得访问令牌。我尝试调用 url: https://datastudio.google.com/embed/reporting/0BxscwH5YAPRRMVRWYTZVOMMptbVk/page/m2YH?access_token=y29.jADSFhkjce0asdfaMDFaso但它不起作用。

没有文件明确说明这应该有效。我只是想克服我面临的这个挑战。有谁知道是否有办法做到这一点?

PS我还尝试使用包含驱动器api范围的访问令牌无济于事。

标签: google-apigoogle-authenticationgoogle-data-studio

解决方案


我不认为这是可能的。Data Studio 身份验证由与 API 不同的机制处理。

请注意,您甚至不需要启用 Data Studio API 即可嵌入报告。这是因为它们是不同的东西。这类似于使用 Gmail API 令牌访问您的 Gmail 帐户:它不应该工作。

当您获得访问令牌时,您获取它是为了满足特定需求(即 Data Studio API 范围)。Data Studio API非常简单,只允许您搜索 Reports/DataSources 和管理权限(它是 Google Drive API 的一种扩展)。目前,它不允许您与报告进行交互。


推荐阅读