So I'm using powershell to automate my power BI reports into my workspace through imports API. here's the code which I'm using :
$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"
but it always return an error like :
Invoke-RestMethod : {"error":
{"code":"MultiPartMimeStreamFormatException","pbi.error":
{"code":"MultiPartMimeStreamFormatException",
"parameters":{},
"details":[],
"exceptionCulprit":1
}
}
}
where do I went wrong on my code?