Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowTry your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join now
Hi,
I'm trying to make the following request:
$api = "api.powerbi.com"
$response = Invoke-WebRequest `
-Method Post `
-Uri "https://$api/v1.0/myOrg/internalScorecards($scorecardId)/goals($($currentGoal.id))/UpsertGoalCurrentValueConnection()" `
-Body ($query) `
-ContentType "application/json" `
-Headers @{ "Authorization" = "Bearer $token" }
}
but I'm getting a 401 (Unauthorized) response.
I get my token like this:
$api = "api.powerbi.com"
Login-PowerBI
$bearer = (Get-PowerBIAccessToken)["Authorization"]
$token = $bearer.SubString(6, $bearer.Length - 6)
How can I get authorization to use this api?
Hi @Popopop ,
Please update the code as below when get the token and check if it can resolve the problem...
$api = "api.powerbi.com"
Login-PowerBI
$bearer = (Get-PowerBIAccessToken)["Authorization"]
$token = $bearer.SubString(7, $bearer.Length - 7)
In addition, please review the following blog. Hope it can help you.
Power BI Goals Pro Tip: Take over goal connections in a scorecard
Best Regards
Hi, this doesn't solve the problem.
For the record, in the same script I execute this with the token I get (both with the code written in my original post and both with the two methods you suggested me), and this works with no problem:
$response = Invoke-WebRequest -Uri "https://$api/v1.0/myorg/groups/{$groupId}/scorecards($scorecardId)/goals" -Headers @{ "Authorization" = "Bearer $token" }
$scorecard = $response.Content | ConvertFrom-Json
So it's that request in particular that doesn't work.
| User | Count |
|---|---|
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 |