首页 > 解决方案 > 如何将 tableau-api 与使用 sql 数据库中的实时数据的 tableau 服务器一起使用

问题描述

import React, { Component } from 'react';  
import tableau from 'tableau-api';  


class App extends Component {  
  componentDidMount() {  
    this.initViz()  
  }  


  initViz() {  
    const vizUrl = 'http://public.tableau.com/views/RegionalSampleWorkbook/Storms';  
    const vizContainer = this.vizContainer;  
    let viz = new window.tableau.Viz(vizContainer, vizUrl)  
  }  


  render() {  
    return (  
      <div ref={(div) => { this.vizContainer = div }}>  
      </div>  
    )  
  }  
}  


export default App;  

公共画面

当我使用提取数据源将工作簿发布到公共画面时,它可以工作

但是当我使用实时数据源(sql)在tableau中发布相同的内容时,

画面仪表板 我获得了一个网址,

https:///#/site/testsite/views/genderanalysis/Sheet2?:iid=1

当我在这里使用时不起作用

从文档中,我找到了具有唯一令牌 https:///trusted/%3CTRUSTED%20TICKET%20HERE%3E/t/testsite/views/genderanalysis/Sheet2?:embed=yes&:comments=no&:toolbar=yes&的 api :refresh=yes&:embed=y&:showVizHome=n&:jsdebug=y&:bootstrapWhenNotified=y&:apiID=handler0

但我不知道如何生成唯一令牌

当我在网站上浏览它时,它显示令牌错误

浏览器上的令牌错误

我使用https:///trusted/和用户名作为参数,但它总是返回-1

我正在使用试用版

这对任何人有用吗?

标签: reactjschartstableau-api

解决方案


您似乎正在尝试使用受信任的身份验证,但尚未完成创建和使用令牌所需的步骤。首先,您需要将Tableau Server 配置为接受并信任来自您将在其中嵌入仪表板的服务器的请求。完成此操作后,您将能够对来自 Web 服务器的令牌发出 POST 请求。那是您使用username和其他参数的时间。然后,您将收到一个令牌,您可以使用它来构造视图的 URL。希望这可以帮助!


推荐阅读