我正在尝试使用ASP.NET和C#为网站编写嵌入式powerbi界面。目前,我陷入了错误。
我正在使用the powerbi-javascript own github wiki是为了更好地了解其制作方法。
通过一些工作,我设法解决了一些问题和错误,现在就可以解决了。
但是,就目前情况而言,我无法解决此错误。
该错误的完整消息是:
严重性代码描述项目文件行抑制状态 错误TS2345(TS)类型'{type:string; id:字符串; embedUrl:字符串; tokenType:任意; accessToken:字符串;设置:{filterPaneEnabled:布尔值; navContentPaneEnabled:布尔值; }; }”不能分配给“ IEmbedConfigurationBase”类型的参数。 属性“设置”的类型不兼容。 类型'{filterPaneEnabled:boolean; navContentPaneEnabled:布尔值; }”与“ ISettings”类型没有共同的属性。 TenantPortal C:\ Users \ ext-patrik.ek \ source \ repos \ TenantPortal \ TenantPortal \ TenantPortal \ wwwroot \ js \ powerbi.ts 20有效
TS代码如下:
import * as pbi from 'powerbi-client';
let powerbi = new pbi.service.Service(pbi.factories.hpmFactory, pbi.factories.wpmpFactory, pbi.factories.routerFactory);
var models = window['powerbi-client'].models;
var config = {
type: 'report',
id: 'ID',
embedUrl: 'https://app.powerbi.com/',
tokenType: models.TokenType.Embed,
accessToken: 'ACCESSTOKEN',
settings: {
filterPaneEnabled: true,
navContentPaneEnabled: true
}
};
var $reportContainer = $('#reportContainer');
let report = powerbi.embed($reportContainer.get(0), config); // The error message is under config here
有人知道为什么吗?
在大家问之前,这里未填写accessToken和ID的原因是因为这是项目的一部分,我无法显示其工作。
谢谢您的帮助。
答案 0 :(得分:0)
我认为此错误是由于配置对象的类型及其属性引起的。
您可以尝试以下格式代码:
const config = <IEmbedConfigurationBase> <any>{
type: 'report',
uniqueId: 'your-report-id ',
id: 'your-report-id ',
tokenType: 'Embed Token',
settings: {
navContentPaneEnabled: false,
filterPaneEnabled: false
},
embedUrl: 'your-embed url',
accessToken: 'your-access-token'
};
有关更多详细信息和参考链接- Interface IEmbedConfigurationBase