Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Unable to publish a workbook successfully

未關閉
#1,635 4 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
45/100
Issue 類型
缺陷
描述清晰度
需要釐清
活躍度
冷清
技術堆疊
python
領域
api, backend

研究方向

Start at server.workbooks.publish and compare the two provided calls, especially skip_connection_check, as_job, and hidden_views. Reproduce the hang with the on-prem live datasource and cloud environment, then use the reported 403132 result and non-returning call to define and verify the corrected behavior.

由索引模型根據 Issue 內容生成。

描述

help wanted

Describe the bug
I have some code that I have been using for quite some time to publish workbook and also data sources to our on -prem environment. We just migrated to the cloud. While I had to change how we authenticate to the cloud the code to publish a dashboard is not completing.
This is a workbook that is connecting live to a database that is on-prem. That is why I was using the skip_connection_check=True. Which seems to hang for me.

Versions
I'm using version 0.36 right now.

To Reproduce
Here is a snippet of the code I was using originally.

    if row['AssetType'] == 'Workbook':
        try:
            ################  PUBLISH WORKBOOK ################
            displayviews = gethiddensheets(server, asset.id, dload_path, RunProcessPath)
            print('    Publishing Workbook!')
            show_tabs = True
            if row['ShowTabs'].upper() == 'FALSE':
                show_tabs = False
            wb_item = TSC.WorkbookItem(name=row['AssetName'], project_id=row['DestinationProjectLUID'], show_tabs=show_tabs)
            if displayviews is None:
                publishedasset = server.workbooks.publish(wb_item, dload_path, 'Overwrite',
                                                      as_job=False, skip_connection_check='True', show_tabs=row['ShowTabs'])
            elif displayviews == -1:
                print('ERROR: Grabbing Hidden Sheets!')
                result = '1|ERROR: Grabbing Hidden Sheets!|'
            else:
                publishedasset = server.workbooks.publish(wb_item, dload_path, 'Overwrite',
                                                      as_job=False, skip_connection_check='True',
                                                      hidden_views=displayviews)
        except Exception as e:
            print('ERROR: Publishing Workbook!')
            print("error in level argument", e.args[0])
            result = '1|ERROR: Publishing Workbook!|'
            return result

New code to adjust for the hidden views in the wb_item:

    if row['AssetType'] == 'Workbook':
        try:
            ################  PUBLISH WORKBOOK ################
            #workbook = server.workbooks.get_by_id(asset.id)
            #all_connections = server.workbooks.populate_connections(workbook)
            displayviews = gethiddensheets(server, asset.id, dload_path, RunProcessPath)
            print('    Publishing Workbook!')
            show_tabs = True
            if row['ShowTabs'].upper() == 'FALSE':
                show_tabs = False
            wb_item = TSC.WorkbookItem(name=row['AssetName'], project_id=row['DestinationProjectLUID'], show_tabs=show_tabs)
            if displayviews is None:
                publishedasset = server.workbooks.publish(wb_item, dload_path, 'Overwrite')
            elif displayviews == -1:
                print('ERROR: Grabbing Hidden Sheets!')
                result = '1|ERROR: Grabbing Hidden Sheets!| '
            else:
                try:
                    print('Hidden Views')
                    wb_item.hidden_views = displayviews

                   publishedasset = server.workbooks.publish(wb_item, dload_path, mode='Overwrite',
                                                              skip_connection_check=True,
                                                              as_job=False)

Results
server.workbooks.publish never returns.
If I remove or change skip_connection_check to false it does complete with the following error.

403132: Forbidden
		AssetPromotionRequest failed to establish a connection to your datasource.
主要語言
Python
星號
716
分支
446
平均合併
8 天 8 小時
30 天內合併 PR
2

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

tableau/server-client-python 的其他 Issue

查看 tableau/server-client-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。