javascript - 从服务器获取所有画面工作簿

标签 javascript angular tableau-api

我有发布多个工作簿的 tableau 服务器。 我的要求是创建包含所有工作簿名称及其 URL 的下拉列表。因此,如果我从 ddl 中选择任何值,则应加载相应的工作簿。我能够在 ddl 中显示带有硬编码值的单个工作簿。 那么是否可以从 Tableau 服务器获取所有工作簿?

我是 tableau 的新手。如果有任何 javascript API,请告诉我。 引用链接:Javascript tableau API

尝试过:http://myTableauServer/workbooks.xml但它给出了错误。“无法加载页面”

代码:

displayWorkbook(): void {
        let placeholderDiv = document.getElementById("tableauViz");
        let positionInfo = placeholderDiv.getBoundingClientRect();
        let getUrl = this.workbookType.find(x => x.name.trim() === this.selectedWorkeBook.trim());
        if (getUrl) {
            let url = getUrl.value;
            let options = {
                width: positionInfo.width,
                height: positionInfo.height,
                hideTabs: true,
                hideToolbar: true,
                onFirstInteractive: function () {
                    var dash =  this.tableauViz.getWorkbook().getActiveSheet();//gives only worksheet under the selected url
                    if(dash.getSheetType() === 'dashboard') {
                        var sheets = dash.getWorksheets();
                        for(var j=0; j<sheets.length; j++) {
                            this.SheetNameList.push({name : sheets.getName(),value:sheets.getUrl()});                          
                        }
                      }
            }
                }
            };
            if (this.tableauViz) { // If a viz object exists, delete it.
                this.tableauViz.dispose();
            }
            this.tableauViz = new tableau.Viz(placeholderDiv, url, options);
        }
    }

最佳答案

您需要使用 Tableau Server REST API https://onlinehelp.tableau.com/current/api/rest_api/en-us/help.htm#REST/rest_api.htm

通过以下 Python 库哪个更容易使用 https://github.com/tableau/server-client-python

关于javascript - 从服务器获取所有画面工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48638165/

相关文章:

node.js - 使用 mongoose 和 node express 查找一个集合中的所有文档,更改数据并保存到另一个集合中

JavaScript 运行时错误 : Object doesn't support property or method 'applyFilterAsync'

java.lang.ClassCastException : java. lang.String 无法在 tableau 中转换为 java.lang.Integer?

mysql - 如何向 Express 应用程序发出 PUT 请求

firefox - 如何让双向数据绑定(bind) <select> 在 Firefox 中工作

postgresql - 如何使用 Tableau 桌面软件连接到 AWS RedShift?

javascript - JS .checked vs jquery attr ('checked' ),有什么区别?

javascript - fullcalendar v4-alpha 3 从 json 获取后加载事件

javascript - 将 .ready 和 .resize 链接到函数中?

javascript - 三.js : Pass text instead of particles into particle cloud