从C#WinForms应用程序查看PowerBI仪表板

时间:2019-05-14 13:43:37

标签: c# winforms powerbi dashboard

我一直在寻找有关PowerBI与C#WinForms集成的一段时间,这似乎使我有些困惑。似乎整个过程中有一些文档,但是我只想从C#WinForms应用程序中查看PowerBI仪表板。

我收集了以下信息:  -https://www.nuget.org/profiles/powerbi || https://github.com/microsoft/PowerBI-CSharp || Is it possible to embed power bi into desktop application?(似乎已过时)

所需的输出是从Windows应用程序打开外部PowerBI链接并根据用户进行身份验证(从本机应用程序登录)。

也许我可以使用服务器主体进行身份验证,但是我需要知道如何执行此操作。

1 个答案:

答案 0 :(得分:1)

您可以检查example是否嵌入到WPF应用程序中。据我所知,C#代码的唯一区别是WinForms中WPF的方法WebBrowser.InvokeScript应该更改为WebBrowser.Document.InvokeScript

关于身份验证,此示例将提示您输入凭据。如果不希望这样,您可以像这样使用UserPasswordCredential

var uc = new UserPasswordCredential("user@example.com", "MyStrongP@ssw0rd");
authenticationResult = await authContext.AcquireTokenAsync(resourceUri, clientId, uc);

this blog post中说明了如何使用服务主体进行身份验证,但是从本质上讲,您应该遵循以下步骤:

  1. 按照以上this blog post中的说明创建和设置服务主体,或按照documentation中的步骤进行操作。 (即,在AAD中注册服务器端Web应用程序以与Power BI一起使用,在管理门户中启用切换,将其应用于特定的安全组,将创建的AAD Web应用程序添加到其中一个安全组中)
  2. 确保所有工作区都是新的工作区。
  3. 将服务主体添加为新工作区的管理员。可以通过两种方式通过API完成此操作:
    • 服务主体通过API创建一个新的工作区。请注意,服务主体无法登录Power BI Portal。
    • 工作区管理员将服务主体添加为管理员。要将服务主体添加到工作区或对服务主体执行任何其他操作,您需要服务主体对象ID。