Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
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.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 9 | |
| 6 | |
| 4 | |
| 4 | |
| 4 |