Forum Discussion

Popopop's avatar
Popopop
New Member
4 years ago

401 (Unauthorized) when calling UpsertGoalCurrentValueConnection() API

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?

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    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

    • Popopop's avatar
      Popopop
      New Member

      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.