Powershell 使用rest api导入pbix文件时出现MultiPartMimeStreamFormatException错误
因此,我使用powershell通过导入API将我的power BI报告自动化到我的工作区中。 以下是我正在使用的代码: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"
$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文件是“应用程序/流八位字节”,但在我更改它后,我的文件被正确导入。您好,我遇到了类似的问题,您能检查一下并给我一个提示吗?