Buduję niestandardowe złącze, aby połączyć się z naszym API przez OAuth2. Dzięki temu możemy użyć naszego api jako źródła danych dla powerbi.Przekaż kilka parametrów w funkcji StartLogin
// Resource definition
Resource = [
Description = "MyAPI",
Type = "Custom",
MakeResourcePath = (env) => env,
ParseResourcePath = (env) => {env},
Authentication = [OAuth=[StartLogin = StartLogin, FinishLogin = FinishLogin, Refresh = Refresh]],
......
Icons = [
Icon16 = { Extension.Contents("MyAPI10.png"), Extension.Contents("MyAPI20.png") }
],
Label = "MyAPI"
]
in
Extension.Module("MyAPI", { Resource })
kiedyś MakeResourcePath i ParseResourcePath przejść parametr Environment
(który przyjmuje się jako dane wejściowe od użytkownika, w miejscu zasilania bi/stacjonarny). Zostanie to przekazane do StartLogin
, aby wywołać autoryzację OAuth.
StartLogin = (env, state, display) =>
let
resourceUrl = getOAuthUrlFromEnvName(env) & "/oauth/authorize",
AuthorizeUrl = resourceUrl & "?" & Uri.BuildQueryString([
client_id = getClientIdFromEnv(env),
response_type = "code",
state = state, // added by VM
redirect_uri = redirect_uri])
in
[
LoginUri = AuthorizeUrl,
CallbackUri = redirect_uri,
WindowHeight = windowHeight,
WindowWidth = windowWidth,
Context = env
],
Potrzebuję innego parametru jako dane wejściowe od użytkownika. Nazywa się hostname
w interfejsie użytkownika. W jaki sposób mogę przekazać hostname
i environment
zarówno do funkcji ? Zasadniczo potrzebuję tych dwóch zmiennych do skonstruowania resourceUrl
. Pomocne będą również wszelkie odniesienia.
i jak mogę przypisać nazwę hosta i środowisko? W jaki sposób wartości wprowadzone przez użytkownika w nich się znajdą? – sudeepdino008
Możesz odwołać się do tego [przykład] (https://github.com/Microsoft/DataConnectors/tree/master/samples/HelloWorldWithDocs), aby dowiedzieć się, jak uzyskać dane wejściowe od użytkownika. –