Bjoern Sjut on 29 Mar 2016 19:24:59
Add oauth(2) as an option to authenticate for e.g. web.contents.
Administrator on 30 Oct 2018 01:34:04
This is enabled via Custom Connectors: https://docs.microsoft.com/en-us/power-query/startingtodevelopcustomconnectors
- Comments (135)
RE: oauth
And how about Power Query / Get & Transform in Excel? Doesn't seem to be much progress on the "upcoming changes" listed on https://github.com/microsoft/DataConnectors
RE: oauth
vote
RE: oauth
I am suppose to caste my vote for this future but not work well!. This is much indeed future for Power BI.
RE: oauth
I want to vote for this but cannot. Please give me permissions.
RE: oauth
please add
RE: oauth
What a garbage response. Oath is the standard for API authentication. By not enabling it Microsoft is preventing Power BI from being able to access a ton of data. Choosing to not implement this is a terrible decision. The workaround (Custom Connectors) doesn't work in the cloud.
RE: oauth
The code was copied from: https :// docs.leanix.net/ docs/custom-integrations
RE: oauth
So sad Microsoft is not willing to help us here.
Maybe this code helps some of you to get it done...
Copied from
let
BaseURL = "https://.leanix.net", // This is evaluated by Power BI Online to check if auto-refresh is possible without authentication
AuthKey = "APITOKEN_ENCODED", // Base64 Encoded "apitoken:API Token" string
AuthHeader = "Basic " & AuthKey, // Concatenate two strings for "Authorization:" Header in POST Request to get OAuth access token
AuthRelativePath = "services/mtm/v1/oauth2/token", // Here we get our access token from with our AuthKey
grant_type = "grant_type=client_credentials", // Indicates the type of grant presented in exchange for an authentication token
Endpoint = "graphql", // The endpoint we are interested in
EndpointRelativePath = "services/pathfinder/v1/" & Endpoint, // We can call this HTTP REST Endpoint via GET to get all applications as JSON once we have the OAuth acccess Token
gqlQuery = "{ ""query"": ""{allFactSheets(factSheetType:Application){edges{node{id name description ... on Application{lifecycle{asString} technicalSuitability technicalSuitabilityDescription businessCriticality businessCriticalityDescription functionalSuitability functionalSuitabilityDescription }}}}}}}}""}",
// We do a HTTP POST Request to BaseURL + AuthRelativePath with our AuthenticationKey in the Header and some extra data to get the access token in JWT format
JWT = Json.Document(Web.Contents(BaseURL, [RelativePath=AuthRelativePath, Headers=[#"Authorization"=AuthHeader, #"Content-Type"="application/x-www-form-urlencoded"], Content=Text.ToBinary(grant_type)])),
// OAuth 2.0 authentication is done and we use the access token to construct the Authorization Header fo
RE: oauth
Looks like we still can't do anything for the cloud...
RE: oauth
This "solution" also doesn't address use outside of PowerBI Desktop.