我正在按照此示例将报告嵌入Angular 6应用中。我需要花一些时间才能在Angular 8上运行。
https://www.c-sharpcorner.com/article/how-to-embed-powerbi-report-in-angular-6/
最后一件事是访问令牌。
为了获得短期令牌,我将Postman与以下端点一起使用:
https://login.microsoftonline.com/38efd35e-da65-4e47-8656-876039ad15b1/oauth2/token
其中38efd35e-da65-4e47-8656-876039ad15b1是我的TenantId。
我提供了应用ID和client_secret。资源为https://analysis.windows.net/powerbi/api
我能够通过调用生成令牌。
报告ID在新的工作区中。在访问控制中,应用程序ID被添加为管理员(服务主体)。在代码中,我提供了报告ID和组ID。该应用有权使用Power Bi服务。当我使用Postman中生成的令牌作为access_token时,在Angular控制台中显示403错误。
我可能做错了什么?有什么不见了?它是错误的Bearer令牌吗?我应该使用其他东西吗?
MS没有为该过程提供清晰的分步指南。
最好是我希望坚持使用Javascript /打字稿堆栈,并且不涉及.NET或C#。
答案是肯定的,您缺少使用在Postman上生成的访问令牌生成嵌入令牌的步骤。您需要使用嵌入令牌,而不是直接使用访问令牌来嵌入报表,因为您使用服务主体作为嵌入方法。并且您还需要提供用于嵌入到embed config中的令牌的类型,如下所示: