-
Notifications
You must be signed in to change notification settings - Fork 59
Trying to automate pulling the licensebased prices every month #414
Comments
I think that you are setting your Authorization header the wrong way, because the Try this instead: $headers.Add("Authorization", "Bearer $($token.AccessToken)") You can also take a look at this blog post on how I do it which is a bit different: https://moiaune.dev/2021/11/03/generate-microsoft-partner-center-refresh-token/ |
you need to add resource and have the value be api.partner.microsoft.com in the body data in your request |
I was trying to setup an azure Powershell automation with New-PartnerAccessToken trying to invoke-restmethod for pulling up the prices. The access token received from the cmdlet doesn't seem to work and it always gives me a 401 Unauthorized error.
Steps to reproduce
This is my command:
$appId = 'xxxxxxxxxxxx'
$appSecret = 'xxxxxxxxxxx' | ConvertTo-SecureString -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $appId, $appSecret
$token = New-PartnerAccessToken -Credential $credential -Resource https://api.partnercenter.microsoft.com -ServicePrincipal
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Bearer $token")
$response = Invoke-RestMethod 'https://api.partner.microsoft.com/v1.0/sales/pricesheets(Market=''ca'',PricesheetView=''updatedlicensebased'')/$value' -Method 'GET' -Headers $headers
Expected behavior
Actual behavior
Environment
The text was updated successfully, but these errors were encountered: