Powershell 使用rest api导入pbix文件时出现MultiPartMimeStreamFormatException错误

Powershell 使用rest api导入pbix文件时出现MultiPartMimeStreamFormatException错误,powershell,powerbi,powerbi-datasource,Powershell,Powerbi,Powerbi Datasource,因此,我使用powershell通过导入API将我的power BI报告自动化到我的工作区中。 以下是我正在使用的代码: $PBIXuri="my azure blob storage url", $Workspaceurl="https://api.powerbi.com/v1.0/myorg/groups/mygroups/imports?datasetDisplayName=myreportname", $AccessToken="my oauth token"

因此,我使用powershell通过导入API将我的power BI报告自动化到我的工作区中。 以下是我正在使用的代码:

    $PBIXuri="my azure blob storage url",
    $Workspaceurl="https://api.powerbi.com/v1.0/myorg/groups/mygroups/imports?datasetDisplayName=myreportname",
    $AccessToken="my oauth token"

    #download my pbix file from azure blob storage
    $cli = New-Object System.Net.WebClient
    $exportpbix = $cli.DownloadData($PBIXuri)

    $powerBiBody = @'
    --exptest
    Content-Disposition: form-data; name="file";
    Content-Type: application/x-zip-compressed

    {0}
    --exptest--

    '@

    #set my pbix file into request body
    $encoding = [System.Text.Encoding]::GetEncoding('iso-8859-1')
    $body = $powerBiBody -f $encoding.GetString($exportpbix)

    $headers = @{
    "Authorization" = "Bearer " + $AccessToken}

    Invoke-RestMethod -Uri $Workspaceurl -Method Post -Headers $headers -Body $body -ContentType "multipart/form-data; boundary=--exptest"
但它总是返回如下错误:

Invoke-RestMethod :     {"error":
     {"code":"MultiPartMimeStreamFormatException","pbi.error": 
       {"code":"MultiPartMimeStreamFormatException",
        "parameters":{},
        "details":[],
        "exceptionCulprit":1
        }
      }
    }

我的代码哪里出错了?

要导入文件,请求头应包括内容类型:多部分/表单数据,文件编码为请求正文中的表单数据,如中所述。请求主体应如下所示:

也许最简单的方法是尝试将下载的数据保存到磁盘上的文件中,比如在
$filePath
中,并将参数添加到调用中:

Invoke-RestMethod -Uri $Workspaceurl -Method Post -InFile $filePath -ContentType "multipart/form-data"
我发现了问题所在。 在我的请求主体上,我设置的内容类型是“application/x-zip-compressed”。
虽然我的pbix文件是“应用程序/流八位字节”,但在我更改它后,我的文件被正确导入。

您好,我遇到了类似的问题,您能检查一下并给我一个提示吗?