使用 TSC 更改 Tableau 工作簿的所有者时出现问题

Issue with changing Tableau workbook's owner using TSC

我正在使用 Tableau Server 客户端以编程方式发布和更改其所有者。我正在使用以下代码:

request_options = TSC.RequestOptions(pagesize=1000)
all_workbooks = list(TSC.Pager(server.workbooks, request_options))

for workbook in all_workbooks:
    if workbook.name == 'report-test' and workbook.project_name=='folder-Test':
        workbook.owner = 'new_owner'
        print('Trying to update the owner')
        workbook = server.workbooks.update(workbook)
        print('Owner changed successfully')`

我收到以下错误:

Traceback (most recent call last):
File "tsc_refresh_schedule.py", line 124, in 
main()
File "tsc_refresh_schedule.py", line 65, in main
run(args)
File "tsc_refresh_schedule.py", line 100, in run
workbook = server.workbooks.update(workbook)
File "/usr/local/lib/python3.7/site-packages/tableauserverclient/server/endpoint/endpoint.py", line 116, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/tableauserverclient/server/endpoint/workbooks_endpoint.py", line 84, in update
server_response = self.put_request(url, update_req)
File "/usr/local/lib/python3.7/site-packages/tableauserverclient/server/endpoint/endpoint.py", line 85, in put_request
content_type=content_type)
File "/usr/local/lib/python3.7/site-packages/tableauserverclient/server/endpoint/endpoint.py", line 54, in _make_request
self._check_status(server_response)
File "/usr/local/lib/python3.7/site-packages/tableauserverclient/server/endpoint/endpoint.py", line 68, in _check_status
raise ServerResponseError.from_response(server_response.content, self.parent_srv.namespace)
tableauserverclient.server.endpoint.exceptions.ServerResponseError:

400000: Bad Request
Payload is either malformed XML/JSON or incomplete

有人可以帮帮我吗? TIA

练习册上没有属性owner。您需要设置 owner_id 即用户的 id。查看帮助文档here.

另一个混淆了许多潜在挑战的伟大库是 Tableau Tools。我都用过,发现这个库更容易使用。