我正在尝试关注this PowerBI embedded example并收到错误:
'PowerBIToken' does not contain a definition for 'CreateProvisionToken'
This MSDN article描述了CreateProvisionToken()
方法。
我使用NuGet包管理器安装了最新的Microsoft.PowerBI.Core
和Microsoft.PowerBI.Api
在我的项目中包含Microsoft.PowerBI.Security
和Microsoft.PowerBI.Api.V1
。
我也尝试将CreateProvisionToken()
部分更改为以下内容:
var credentials = new TokenCredentials(accessKey, "AppKey");
var client = new PowerBIClient(credentials);
var devToken = PowerBIToken. CreateDevToken(reportID, workspaceID);
using (client)
{
var embedToken = PowerBIToken.CreateReportEmbedToken(
collectionName,
workspaceID,
reportID);
var embedTokenString = embedToken.Generate(accessKey);
}
这会生成一个“看起来正确”的令牌,但在文章末尾的示例html中使用此令牌会在呈现报告时导致错误This content is not available
。
我错过了什么?
答案 0 :(得分:2)
Power BI嵌入式的最新版本通过仅支持一个嵌入式令牌简化了身份验证机制,而不再使用Power BI博客中的其他令牌:
https://powerbi.microsoft.com/en-us/blog/what-s-new-and-what-s-next-for-power-bi-embedded-july-2016/
我们简化了开发人员验证他们对Power BI的调用的方式。从今天开始,app令牌将仅用于验证嵌入请求和将来可能添加的其他客户端请求。所有对REST API的调用都将直接使用我们的API密钥进行身份验证。这样就无需在每次调用REST API时生成应用程序令牌。
您需要跟进Microsoft的示例: