Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
paulalmond91
Helper II
Helper II

OAuth2.0 Custom Connector TestConnection Issue

I've tested a working connector with PowerBI desktop and published this to service but I am facing an issue where the Data Source configuration in the Gateway won't store the OAuth access_token.
I following the guidance regarding TestConnection found here: https://github.com/Microsoft/DataConnectors/blob/master/docs/m-extensions.md#implementing-testconnec...

 

The issue I am facing is that I click Edit Credentials when configuring a Data Source on the gateway - the OAuth flow start and I click to Allow access but it just takes me back to the popup below (with Add being greyed out).

 

Capture.PNG

 

Here is my VS code:

 

 

[DataSource.Kind="AdministrateGraphQL", Publish="AdministrateGraphQL.UI"]
shared AdministrateGraph = (query as text) =>
    let
        apiToken = "Bearer " & Extension.CurrentCredential()[access_token],
        Source = Web.Contents("https://api.getadministrate.com/graphql",
        [Headers=[
			    #"Method"="POST",
			    #"Content-Type"="application/json",
                #"Authorization"=apiToken
		    ],
            Content=Text.ToBinary(query)
        ]),
		Output = Json.Document(Source)
    in
        Output;

[DataSource.Kind="AdministrateGraphQL"]
shared TestAdministrateGraph = (query as text) =>
    let
        apiToken = "Bearer " & Extension.CurrentCredential()[access_token],
        Source = Web.Contents("https://api.getadministrate.com/graphql",
        [Headers=[
			    #"Method"="POST",
			    #"Content-Type"="application/json",
                #"Authorization"=apiToken
		    ],
            Content=Text.ToBinary(query)
        ]),
		Output = Json.Document(Source)
    in
        Output;

// Data Source Kind description
AdministrateGraphQL = [
	TestConnection = (dataSourcePath) => { "AdministrateGraph", dataSourcePath },
    Authentication = [
        OAuth = [
            StartLogin=StartLogin,
            FinishLogin=FinishLogin,
            Refresh=Refresh
        ]
    ],
    Label = Extension.LoadString("Administrate GraphQL Connector") 
];

 

 

 

Is anyone able to highlight why this isn't working?

2 REPLIES 2
davidvincentret
Frequent Visitor

Hello, 

I am working on developping an Oauth2 connector like you but I'm currently not succeeding, would it be possible to see how you've set up your StarLogin and FinishLogin functions ? I'm struggling with these two functions because I don't need any authorize URL to access my toke, I just need to request the token url with some credentials and I get it, no exampe works like this online 

Otherwise sorry, I can't help you that much ahah

paulalmond91
Helper II
Helper II

Anyone have any thoughts?

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.