Powerbi Power BI中有没有更好的方法让REST API调用(如HTTP)使用动态访问令牌(密钥)读取数据
尝试使用RESTAPI调用生成少量Power BI报告。这将需要最初生成一个“访问令牌”,然后将该密钥传递给各种API调用以进行身份验证,以读取数据 我看到许多线程使用“访问令牌”(Key)作为URL查询字符串或PowerBIWeb数据源中的HTTP头。但是尝试实现动态创建的访问令牌,然后在GET调用中作为头传递 目前,我正在尝试从中读取数据,他们通过RESTAPI调用公开数据,授权用户可以使用HTTPGET从他们的门户读取数据。有一个设施可以创建特定于组织的应用程序,并使用其API访问令牌 所以,如果您知道如何在每次数据集刷新期间使用POST动态生成访问令牌,然后调用GET获取报告所需的数据,请与我们分享 下面的图片是建议的API调用,并通过Powerbi Power BI中有没有更好的方法让REST API调用(如HTTP)使用动态访问令牌(密钥)读取数据,powerbi,etl,powerquery,business-intelligence,restapi,Powerbi,Etl,Powerquery,Business Intelligence,Restapi,尝试使用RESTAPI调用生成少量Power BI报告。这将需要最初生成一个“访问令牌”,然后将该密钥传递给各种API调用以进行身份验证,以读取数据 我看到许多线程使用“访问令牌”(Key)作为URL查询字符串或PowerBIWeb数据源中的HTTP头。但是尝试实现动态创建的访问令牌,然后在GET调用中作为头传递 目前,我正在尝试从中读取数据,他们通过RESTAPI调用公开数据,授权用户可以使用HTTPGET从他们的门户读取数据。有一个设施可以创建特定于组织的应用程序,并使用其API访问令牌 所
我通过创建powerbi自定义连接器实现了类似的功能。 它允许您轻松地对任何标准RESTAPI(或任何其他源)进行身份验证。当然,您还可以做一些工作来验证更多的自定义API(我遇到了这个问题)。但是AdobeSignAPI有相当好的oauth2实现。 定制连接器可能是最好的推荐解决方案。你可以做非常强大的事情(我做过)。这是生产就绪解决方案的方法 如何创建自定义连接器:
GithubSample = [
Authentication = [
OAuth = [
StartLogin = StartLogin,
FinishLogin = FinishLogin
]
],
Label = Extension.LoadString("DataSourceLabel")
];
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
];
FinishLogin = (context, callbackUri, state) =>
let
Parts = Uri.Parts(callbackUri)[Query]
in
TokenMethod(Parts[code]);
TokenMethod = (code) =>
let
Response = Web.Contents("https://Github.com/login/oauth/access_token", [
Content = Text.ToBinary(Uri.BuildQueryString([
client_id = client_id,
client_secret = client_secret,
code = code,
redirect_uri = redirect_uri])),
Headers=[#"Content-type" = "application/x-www-form-urlencoded",#"Accept" = "application/json"]]),
Parts = Json.Document(Response)
in
Parts;