Forum Discussion
Refresh token api call
- 6 years ago
Hi Anonymous,
I stumbled over a similar problem as you last year. I solved my api connection by buidling a custom data connector.
https://github.com/Microsoft/DataConnectors
With the connector you have a lot of possibilitys for authentication handling:
see: https://docs.microsoft.com/en-us/power-query/handlingauthentication
The custom Connector can be attached to the data gatway from there the api calls are made.
This is not a really easy way for sure but may be a solution.
-------------------------------------------------------------------
Did I answer your question? Mark my post as a solution!
It was useful? Press Thumbs Up! - Anonymous6 years ago
Hi Rainer and everyone,
Thank you for the quick response. Having said this, I was able to solve this one following the below manner.
Regards,
AnandStep one: Create parameters for client_id, client_secret, oauth token, search url, username, password
Step two: a new query with the followinglet //App Details client_id = #"API Key", //<===parameter client_secret = #"API Secret", //<===parameter //Authentication //URI's token_uri = #"Token URL", //<===parameter resource = #"Search URL", //<===parameter //User Details username = username, //<===parameter password = password, //<===parameter tokenResponse = Json.Document(Web.Contents(token_uri, [ Content= Text.ToBinary(Uri.BuildQueryString( [ client_id = client_id ,client_secret=client_secret ,username=username ,password=password ,resource=resource ,grant_type = "password" ])) ,Headers= [Accept="application/json"] , ManualStatusHandling={400} ])), access_token = tokenResponse[access_token], token = "Bearer " & tokenResponse[access_token], GetJsonQuery = Web.Contents("[search url]", [ Headers = [#"Authorization"=token] ] ), FormatAsJsonQuery = Json.Document(GetJsonQuery) in FormatAsJsonQuery
Hi Anonymous,
I stumbled over a similar problem as you last year. I solved my api connection by buidling a custom data connector.
https://github.com/Microsoft/DataConnectors
With the connector you have a lot of possibilitys for authentication handling:
see: https://docs.microsoft.com/en-us/power-query/handlingauthentication
The custom Connector can be attached to the data gatway from there the api calls are made.
This is not a really easy way for sure but may be a solution.
-------------------------------------------------------------------
Did I answer your question? Mark my post as a solution!
It was useful? Press Thumbs Up!
- Anonymous6 years agoNot applicable
Hi Rainer and everyone,
Thank you for the quick response. Having said this, I was able to solve this one following the below manner.
Regards,
AnandStep one: Create parameters for client_id, client_secret, oauth token, search url, username, password
Step two: a new query with the followinglet //App Details client_id = #"API Key", //<===parameter client_secret = #"API Secret", //<===parameter //Authentication //URI's token_uri = #"Token URL", //<===parameter resource = #"Search URL", //<===parameter //User Details username = username, //<===parameter password = password, //<===parameter tokenResponse = Json.Document(Web.Contents(token_uri, [ Content= Text.ToBinary(Uri.BuildQueryString( [ client_id = client_id ,client_secret=client_secret ,username=username ,password=password ,resource=resource ,grant_type = "password" ])) ,Headers= [Accept="application/json"] , ManualStatusHandling={400} ])), access_token = tokenResponse[access_token], token = "Bearer " & tokenResponse[access_token], GetJsonQuery = Web.Contents("[search url]", [ Headers = [#"Authorization"=token] ] ), FormatAsJsonQuery = Json.Document(GetJsonQuery) in FormatAsJsonQuery- Anonymous6 years agoNot applicable
Hi Anonymous ,
I tried making API call using the provided query after creating the required parameters.
Only change I did is -
grant_type = "client_credentials"
I am getting below error -
P.S - I tried using other methods as well, I am getting same error whichever query I use. Please suggest what am I doing wrong.
Thanks in advance.
- Anonymous6 years agoNot applicable
Hi,
I've seen a similar issue earlier. However, if you refresh all your data the token will get a refresh too helping you to authenticate automatically.
hope this helps.
//A!