Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi Folks,
I am developing a custom connector where the user write down on the UI :
- the API URL
- the client_id
-the client_secret
I would like to know how to pass the client_id and client_secret to my StartLogin and FinishLogin ?
Thanks in advance.
Regards,
Solved! Go to Solution.
Hi @Anonymous ,
Thanks for your reply but it does not reply to my problem.
I found the solution to get those values :
StartLogin = (clientApplication, dataSourcePath, state, display) => let authorizeUrl = AUTHORIZE_URI & "?" & Uri.BuildQueryString([ response_type = "code", client_id = Json.Document(dataSourcePath)[client_id], redirect_uri = REDIRECT_URI, state1 = state, scope = GetScopeString(SCOPES, SCOPE_PREFIX) ]) in [ LoginUri = authorizeUrl, CallbackUri = REDIRECT_URI, WindowHeight = WINDOW_HEIGHT, WindowWidth = WINDOW_WIDTH, Context = null ];
You need to parse the "dataSourcePath" variable.
Regards,
Hi @ochaoui
1. Create a Data Source definition
//
// Data Source definition
//
GithubSample = [
Authentication = [
OAuth = [
StartLogin = StartLogin,
FinishLogin = FinishLogin
]
],
Label = Extension.LoadString("DataSourceLabel")
];
2. Provide details so the M engine can start the OAuth flow.
The following code snippet describes how to implement a StartLogin function to start the login flow.
StartLogin = (resourceUrl, state, display) =>
let
AuthorizeUrl = "https://github.com/login/oauth/authorize?" & Uri.BuildQueryString([
client_id = client_id,
scope = "user, repo",
state = state,
redirect_uri = redirect_uri])
in
[
LoginUri = AuthorizeUrl,
CallbackUri = redirect_uri,
WindowHeight = windowHeight,
WindowWidth = windowWidth,
Context = null
];
For more details you may refer to this offical blog: GitHub Connector Sample
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous ,
Thanks for your reply but it does not reply to my problem.
I found the solution to get those values :
StartLogin = (clientApplication, dataSourcePath, state, display) => let authorizeUrl = AUTHORIZE_URI & "?" & Uri.BuildQueryString([ response_type = "code", client_id = Json.Document(dataSourcePath)[client_id], redirect_uri = REDIRECT_URI, state1 = state, scope = GetScopeString(SCOPES, SCOPE_PREFIX) ]) in [ LoginUri = authorizeUrl, CallbackUri = REDIRECT_URI, WindowHeight = WINDOW_HEIGHT, WindowWidth = WINDOW_WIDTH, Context = null ];
You need to parse the "dataSourcePath" variable.
Regards,
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 3 | |
| 3 | |
| 2 | |
| 1 | |
| 1 |
| User | Count |
|---|---|
| 12 | |
| 7 | |
| 4 | |
| 3 | |
| 3 |