使用访问令牌查看报告

View report using an access token

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

documentation here 说明调用 google api 时,您可以将访问令牌附加为查询参数。这种类型的解决方案适用于 google 驱动器中的文件;但是,没有正式的 api 来获取数据工作室报告,所以我认为也许可以通过调用嵌入式 link 或预览 link 并将访问令牌作为查询参数附加技巧,但事实并非如此。

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

如果我尝试在浏览器中访问 url,同时以有权查看报告的用户登录 google,我将获得数据。

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

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

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

P.S。我还尝试了一个包含驱动器 api 范围的访问令牌,但无济于事。

我认为这是不可能的。 Data Studio 身份验证由与 API.

不同的机制处理

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

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

目前唯一的解决办法是实施Row Level Filtering。基本上,这个解决方案包括实现您自己的身份验证机制和您自己的基于令牌的数据显示。逐步实施教程非常耗时,但文档包含高层次的所有细节。这应该足以让您入门。