Tableau + NodeJS — 将视图下载为 csv

Tableau + NodeJS — Download view as csv

使用这个 Tableau API page 我已经能够构建为后续请求获取 api 令牌的请求。

但是,我在使用此令牌下载 csv 视图的内容时遇到困难,就像您在浏览器中访问 url 时发生的情况一样。

我已经构建了下面的请求,但它似乎不起作用。

{
    'url': 'https://<server>/#/site/Project1/views/View1/sheet1.csv',
    'method': 'GET',
    'headers': {
        'X-Tableau-Auth': dataToken.credentials.token,
        'Connection': 'Keep-Alive',
        'Cookie': 'workgroup_session_id=' + dataToken.credentials.token
    }
}

我得到的只是 dom html,而不是 csv 下载内容。如果我从 url 中删除“#/site”,它会抱怨 url 格式错误。

我在网上查了很多遍,但没能找到任何与此相关的内容。人们似乎在使用一些 python 脚本,但我无法理解它,也不确定它是否能满足我的需要。

终于找到了有用的 api 文档来涵盖这个:

https://onlinehelp.tableau.com/current/api/rest_api/en-us/help.htm#REST/rest_api_ref.htm#Query_View_Data%3FTocPath%3DAPI%2520Reference%7C_____75

您需要知道视图的 ID 号,您可以从上面的其他 api 获得该 ID 号。一旦你有了它,获取数据作为 csv 的 url 就很简单了(从上面的 url 复制):

/api/<api-version>/sites/<site-id>/views/<view-id>/data