全部产品
云市场

群空间下如何自主开通嵌入第三方报表权限

更新时间:2020-04-16 14:02:41

将报表嵌入第三方的传统方式是通过传入管控台个人信息中的AccessId和AccessKey获取token后提工单开通报表权限。现在群空间下支持用户自助化开通报表权限,使用更加方便。本文档为您介绍具体实现方法。

一、 通过https接口获取accessToken

  1. 获取请求地址https://das.base.shuju.aliyun.com/api/ac3rdservice/token.json?accessId=xxx&accessKey=xxx&aliyunId=xxx&validityTime=60 中的参数accessId、accessKey、aliyunId。

    获取accessId和accessKey

    控制台首页进入空间设置,通过组织管理 > 识别码,获取accessId和accessKey。其中QuickBI AccessKey ID为accessId,QuickBI AccessKey Secret为accessKey。


    获取aliyunId
    如果您使用的是主账号,aliyunId为DATAIDE登录时使用的阿里云账号,如下图所示。
    111.png
    如果您使用的是子账号,aliyunId参数的内容格式为:主账号的账号名:子账号,如下图所示。
    112zi.png
    示例如下:
    https://das.base.shuju.aliyun.com/api/ac3rdservice/token.json?accessId=xxxxxxxxxxxxxxxxxxxxxxx&accessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&aliyunId=136***59:yuan_sub1&validityTime=60
    说明:请保持申请开通仪表板接入权限的帐号(支持主子账号)与仪表板制作者一致。
  2. 发送get请求获取token
    将以上步骤中获取的参数拼接到请求地址https://das.base.shuju.aliyun.com/api/ac3rdservice/token.json?accessId=xxx&accessKey=xxx&aliyunId=xxx&validityTime=60 中,发送get请求获取token。
    248token.png
    当success为true的时候,说明获取token成功,accessToken的值就是token。
    说明:若在accessToken有效期内再次发送请求获取或者访问报表,都会自动延迟默认设置的token有效时长。例如:第一次获取validityTime设置为10分钟,在10分钟之内再次发送请求,会在此基础上续期10分钟;只有在token失效后再次获取,token内容才会改变;若想立即取消token时效,可以发送如下post请求,将参数修改为自己的即可:https://das.base.shuju.aliyun.com/api/ac3rdservice/tokenInvalid.json?aliyunId=XXX&accessToken=XXX

二、 添加需要嵌入的仪表板

  1. 在Quick BI首页,单击顶部开放服务
  2. 开放服务页面,选择分享中心中的报表嵌入
  3. 在报表嵌入页面,单击+新增嵌入报表。
  4. 新增嵌入报表页面,选择相应的群空间和空间下要嵌入的报表,单击确定

三、 拼接免登url

仪表板查看.PNG

上图中预览的地址就是访问报表的地址。预览地址域名为:das.base.shuju.aliyun.com,支持将域名修改为:bi.aliyun.com 。

将第一步中生成的accessToken追加到报表的url后面,即可免登查看了,URL为:http://das.base.shuju.aliyun.com/token3rd/dashboard/view/pc.htm?pageId=703d6621-7aa0-4716-bcc1-515e3da794c2&accessToken=XXXXX

具体示例

HTML代码模式

 

  1. <body>
  1.    <iframe frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" width="100%" height="100%" src="
  1.        https://bi.aliyun.com/dashboard/view/pc.htm?spm=a2c10.10637826.0.0.1e6a4666IqoH1q&pageId=9f489954-8154-476b-a4a7-22e2aed48115&accessToken=81000c719xxxxxx9bf874d4578c5f836'
  1.        ></iframe>
  1.    </body>

JS代码模式

  1. (function setIframe(){
  1.  var frame = '<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" width="100%" height="100%" src="'
  1.        + '//bi.aliyun.com/dashboard/view/pc.htm?spm=a2c10.10637826.0.0.1e6a4666IqoH1q&pageId=9f489954-8154-476b-a4a7-22e2aed48115&accessToken=81000c7197ca93xxxxxx4d4578c5f836'
  1.              + '"></iframe>';
  1.  var newNode = document.createElement('div');
  1.  newNode.innerHTML = frame;
  1.  newNode.style.height = '1600px';
  1.  
  1.  var htmlBody = document.getElementsByTagName('body')[0];
  1.  htmlBody.insertBefore(newNode, htmlBody.firstChild);
  1. })();