我是Power BI的新手,希望能够在Delphi中显示预先创建的Power BI报告 . 我使用Google搜索了互联网,但发现Delphi开发人员的信息很少,只是关于Power BI的一般信息 . 我使用的是Delphi 10.2.3 .
要嵌入报告,您必须对自己进行身份验证并获取访问令牌 . 它将用于进一步调用Power BI REST API .
通常,使用ADAL获取此访问令牌,但我怀疑您会为Delphi找到一个 . 您可以看看这个问题,看看如何使用Delphi中的原始Web请求来执行此操作:How to connect a Delphi desktop app to a third-party Dynamics 365 app using OAuth 2.0?
获取访问令牌后,使用Get Report In Group API获取报告的embedUrl .
嵌入Power BI报告基本上是将它们加载到网页中 . This演示了如何在WPF应用程序中嵌入报表 . 您可以在Delphi中执行相同的操作 . 基本上,您需要将演示中的 powerbi.js , ReportLoader.js 和 ReportLoader.html 文件复制到项目中 . 第一个文件是Power BI客户端 . 第二个是JavaScript代码,您需要运行它以在第三个中加载报告 . 从您的代码中,您需要导航到 ReportLoader.html 文件并从 ReportLoader.js 运行 LoadEmbeddedObject JavaScript函数,并将报告的embedUrl,您的访问令牌和要嵌入的报告的ID传递给它 . 我不能告诉你如何在Delphi中调用这个函数,但是WPF演示代码可能会给你一些想法 .
powerbi.js
ReportLoader.js
ReportLoader.html
LoadEmbeddedObject
祝好运!
1 回答
要嵌入报告,您必须对自己进行身份验证并获取访问令牌 . 它将用于进一步调用Power BI REST API .
通常,使用ADAL获取此访问令牌,但我怀疑您会为Delphi找到一个 . 您可以看看这个问题,看看如何使用Delphi中的原始Web请求来执行此操作:How to connect a Delphi desktop app to a third-party Dynamics 365 app using OAuth 2.0?
获取访问令牌后,使用Get Report In Group API获取报告的embedUrl .
嵌入Power BI报告基本上是将它们加载到网页中 . This演示了如何在WPF应用程序中嵌入报表 . 您可以在Delphi中执行相同的操作 . 基本上,您需要将演示中的
powerbi.js
,ReportLoader.js
和ReportLoader.html
文件复制到项目中 . 第一个文件是Power BI客户端 . 第二个是JavaScript代码,您需要运行它以在第三个中加载报告 . 从您的代码中,您需要导航到ReportLoader.html
文件并从ReportLoader.js
运行LoadEmbeddedObject
JavaScript函数,并将报告的embedUrl,您的访问令牌和要嵌入的报告的ID传递给它 . 我不能告诉你如何在Delphi中调用这个函数,但是WPF演示代码可能会给你一些想法 .祝好运!