TSC有效载荷格式错误或不完整

时间:2019-08-07 22:06:46

标签: python rest api tableau tableau-server

我正在使用TableauServerClient更新Tableau服务器上的报表的所有者。这是我的简单代码:

Try:
                single_workbook = server.workbooks.get_by_id(workbook_id)       #default ownerid of fsg_tableaureporting
                single_workbook.owner_id = ownerid

                if (server.workbooks.update(single_workbook)):
                    print('Workbook owner has been updated successfully')

                else:
                    print('Workbook owner could not be updated. Please try again. Exiting..')

            except Exception as e:
                print('Exceptions occured while changing the owner.')
                print(e)

我在语句server.workbooks.update(single_workbook)处得到了异常。 有人有什么建议吗?

Python:3.7.3
TSC:0.8.1
Tableau服务器:2019.1.3(20191.19.0417.1429)64位Windows

2 个答案:

答案 0 :(得分:0)

我刚刚遇到了同样的问题。查看日志(Windows的C:\ Tableau Server \ data \ tabsvc \ logs \ vizportal \ vizportal-0.log),我看到错误:

Caused by: com.sun.istack.internal.SAXParseException2; lineNumber: 1; columnNumber: 238; unexpected element (uri:"", local:"dataAccelerationConfig"). Expected elements are <{}owner>,<{}site>,<{}project>,<{}connections>,<{}connectionCredentials>,<{}views>,<{}tags>

该错误专门发生在此处生成XML的地方: https://github.com/tableau/server-client-python/blob/188be71e0fbe9d87ac36628af21d2f63af32d020/tableauserverclient/server/endpoint/workbooks_endpoint.py#L103

在检查该请求中发生了什么之后,我看到它在xml中为data_acceleration_config添加了一个部分,我认为这是从最新版本(2019.4开始)开始的一项新功能: https://github.com/tableau/server-client-python/blob/188be71e0fbe9d87ac36628af21d2f63af32d020/tableauserverclient/server/request_factory.py#L485

不幸的是,API尚未正确处理此问题!我正在尝试调整代码以不生成该xml元素;如果有解决方案,它将再次更新。

答案 1 :(得分:0)

我正在使用tableauserverclient版本0.12,并且遇到了类似的问题;但是,当我降级到0.10版本时,更新工作簿项目时没有遇到此问题。