You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Postman调用Tableau REST API发布资源时遇Content-Type不支持错误

解决Tableau REST API发布工作簿/数据源的406000错误

问题场景

尝试通过REST API将工作簿发布到Tableau Server,将以下curl请求导入Postman执行:

curl "https://MY_SERVER/api/3.4/sites/site-id/workbooks" -X POST -H "X-Tableau-Auth:credentials token" -H "Content-Type: multipart/mixed;" -F "request_payload=@publish-workbook.xml" -F "tableau_workbook=@MY_WORKBOOK.twbx"

收到错误响应:

<?xml version='1.0' encoding='UTF-8'?>
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api https://help.tableau.com/samples/en-us/rest_api/ts-api_3_18.xsd">
    <error code="406000">
        <summary>Bad Request</summary>
        <detail>Content type 'multipart/form-data;boundary=--------------------------313748027746018569295475' not supported</detail>
    </error>
</tsResponse>

发布数据源时出现相同类型错误,目标是成功将工作簿/数据源发布至Tableau Server。

原因

Tableau REST API发布接口要求请求使用multipart/mixed类型,但Postman导入curl请求时,会自动将请求格式转为multipart/form-data,与API要求的格式不匹配,导致服务器返回内容类型不支持的错误。

解决步骤

1. 修正请求头的Content-Type

  • 在Postman的请求头中,将Content-Type设置为multipart/mixed,不要添加多余的分号,也不要手动指定boundary(让Postman自动生成符合规范的boundary)。

2. 配置请求体的各部分参数

使用Postman的form-data模式构建请求体,为每个部分设置正确的属性:

  • request_payload部分:
    • Key填写request_payload
    • 类型选择File,上传你的publish-workbook.xml文件
    • 点击该部分的Headers按钮,添加Content-Type: text/xml
  • tableau_workbook部分:
    • Key填写tableau_workbook
    • 类型选择File,上传你的.twbx工作簿文件
    • 添加头部Content-Type: application/vnd.tableau.packaged-workbook

3. 数据源发布的适配调整

如果是发布数据源,只需做以下替换:

  • 请求URL改为数据源接口(如/api/3.4/sites/site-id/datasources)
  • 上传文件替换为.tdsx或.tds格式的数据源文件
  • 对应部分的Content-Type改为application/vnd.tableau.datasource

4. 验证请求格式

发送请求前,确认整个请求的结构符合multipart/mixed规范,每个子部分都有正确的Content-Type,避免格式不匹配问题。

内容的提问来源于stack exchange,提问作者Subham Sen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 18:01:21