繁体   English   中英

使用GroupId向PowerBI仪表板进行身份验证?

[英]Authenticating to PowerBI dashboard with GroupId?

通过这篇文章 ,我已经成功创建了一个控制台应用程序,该应用程序对数据进行身份验证并将其推送到我自己的PowerBI仪表板。 这是根据说明为我自己的应用程序提供ClientIdRedirectUri的。 但是,我遇到了问题,将其转换为团队创建的仪表板。

我们在https://{name}.powerbi.com/groups/{group id}/dashboards/{dashboard id}有几个仪表https://{name}.powerbi.com/groups/{group id}/dashboards/{dashboard id} 在以上文章中,由于Microsoft.IdentityModel.Clients.ActiveDirectory的更新版本而略作修改的获取AAD令牌的代码为:

private static string GetToken()
{
   string clientID = "{Client_ID}";
   string redirectUri = "https://login.live.com/oauth20_desktop.srf";

   string resourceUri = "https://analysis.windows.net/powerbi/api";

   string authorityUri = "https://login.windows.net/common/oauth2/authorize";

   AuthenticationContext authContext = new AuthenticationContext(authorityUri);
   PlatformParameters parameters = new PlatformParameters(PromptBehavior.Never);

   string token = authContext.AcquireTokenAsync(resourceUri, ClientId, new Uri(RedirectUri), parameters).Result.AccessToken;

   Console.WriteLine(token);
   Console.ReadLine();

   return token;
}

由于我不知道ClientId,因此我尝试使用GroupId,但这失败了。 如果没有可用的ClientId,如何找到它或以其他方式进行身份验证? 在这种情况下,我如何知道合适的RedirectUri和ResourceUri?

如果您使用与登录时使用相同的帐户登录个人仪表板,以访问团队的仪表板,则在两种情况下都可以重复使用ClientID。

用更多的技术术语:如果您自己的PowerBI仪表板和您的团队都绑在同一个Azure AD上,则可以重用客户端ID。 (如果它们绑定到不同的Azure AD,那么您可以为每个Azure AD OR注册一个应用程序,或者注册一个应用程序并将多租户开关设置为true,但是希望您已被第一种情况所涵盖,并且不需要担心这个。)

PowerBI权限本身并不限于特定的仪表板 而是,如果通过用户委托进行设置 ,则该应用将能够对登录用户有权访问的任何数据集执行选定的操作(例如,读取和写入所有数据集)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM