This is best Fabric, Power BI, SQL and AI community event. How do we know? The last event sold out! Save €200 with code FABCMTY200.
Register nowA new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.
Getting the following error when trying to take over dataset using this REST API: https://docs.microsoft.com/en-us/rest/api/power-bi/datasets/take-over-in-group
Following is my code:
#Login using Service Principal
#-------------------------------
cls
$applicationId = "XXXXX"
$clientsec = "XXXXX" | ConvertTo-SecureString -AsPlainText -Force #
$tenantId = "XXXXX"
$resource = "https://analysis.windows.net/powerbi/api"
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $applicationId, $clientsec
Connect-PowerBIServiceAccount -ServicePrincipal -Credential $credential -TenantId $tenantId
# Get token
#-------------------------------
$token = Get-PowerBIAccessToken -AsString
# Building Rest API header with authorization token
#-------------------------------
$authHeader = @{
'Content-Type'='application/json'
'Authorization'=$token
}
#Group and Dataset Parameters
#-------------------------------
$group= "xxxxx" #workspace ID
$dataset= "xxxxxx" #dataset ID
# POST body
#-------------------------------
$postParams = @{
"datasetId" = "$dataset"
}
$jsonPostBody = $postParams | ConvertTo-JSON
$Url = "https://api.powerbi.com/v1.0/myorg/groups/$group/datasets/$dataset/Default.TakeOver"
## Take Over DataSet
#-------------------------------
Invoke-PowerBIRestMethod -Url $Url -Headers $authHeader -Body $jsonPostBody Method -POST -Verbose
The Service Principal has the following permissions:
What am I missing? Please help! Thanks in advance.
@Anonymous instead of
Method -Post
you need
-Method POST
Getting the same error after replacing -POST with POST:
Please read my reply again. Use -Method (note the dash)
Thank you, I changed the code but getting this new error now:
Invoke-PowerBIRestMethod -Url $Url -Headers $authHeader -Body $jsonPostBody -Method POST -Verbose
Looks like
Get-PowerBIAccessToken -AsString
returns more than you need. Investigate that and then only use the auth part.
most likely
$authHeader = @{
'Content-Type'='application/json'
'Authorization'=$token.Values[0]
}
Hmm, maybe the issue is elsewhere. Both
Connect-PowerBIServiceAccount
$headers = Get-PowerBIAccessToken -AsString
$authHeader = @{
'Content-Type'='application/json'
'Authorization'=$headers
}
Invoke-RestMethod -Headers $authHeader -Uri 'https://api.powerbi.com/v1.0/myorg/groups'
and
Connect-PowerBIServiceAccount
$headers = Get-PowerBIAccessToken
Invoke-RestMethod -Headers $headers -Uri 'https://api.powerbi.com/v1.0/myorg/groups'
work for me.
Maybe Invoke-PowerBIRestMethod is the culprit. Use Invoke-RestMethod instead.
Tried this code:
Invoke-RestMethod -Uri $Url -Headers $authHeader -Body $jsonPostBody -Method POST -Verbose
Getting the following error now:
@Anonymous replace the nonunicode "-" sign and type "-" again to each parameter.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |