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 文档来涵盖这个:
您需要知道视图的 ID 号,您可以从上面的其他 api 获得该 ID 号。一旦你有了它,获取数据作为 csv 的 url 就很简单了(从上面的 url 复制):
/api/<api-version>/sites/<site-id>/views/<view-id>/data
使用这个 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 文档来涵盖这个:
您需要知道视图的 ID 号,您可以从上面的其他 api 获得该 ID 号。一旦你有了它,获取数据作为 csv 的 url 就很简单了(从上面的 url 复制):
/api/<api-version>/sites/<site-id>/views/<view-id>/data