积极答复者
Power BI Embedded限制用户报错

问题
-
我follow https://docs.microsoft.com/zh-cn/azure/power-bi-embedded/power-bi-embedded-rls 里的step,将DashboardController 第55行内容更改为 var embedToken = PowerBIToken.CreateReportEmbedToken(this.workspaceCollection, this.workspaceId, report.Id, "Andrew Ma", ["Manager"]);
在[]这里报错 Invalid expression term '[',report也无法查看,请问怎么解决?
答案
-
Hi Danica,
经测试,文档中对于 roles 参数不应是String, 应为:IEnumerable<string>,所以会有参数不匹配的错误产生。
参见API : CreateReportEmbedToken :
public static PowerBIToken CreateReportEmbedToken(string workspaceCollectionName, string workspaceId, string reportId, string datasetId, DateTime expiration, string username = null, IEnumerable<string> roles = null, string scopes = null)
修改方法:
var embedToken = PowerBIToken.CreateReportEmbedToken(this.workspaceCollection, this.workspaceId, report.Id, "Andrew Ma", new System.Collections.Generic.List<string>(new String[] { "Manager"}));
使用该参数:new System.Collections.Generic.List<string>(new String[] { "Manager"}) 代替 “Manager”
MSDN 社区技术支持
如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com。- 已标记为答案 Danica Y 2017年2月24日 7:34
全部回复
-
Hi Danica,
>var embedToken = PowerBIToken.CreateReportEmbedToken(this.workspaceCollection, this.workspaceId, report.Id, "Andrew Ma", ["Manager"]);
在 Azure 文档中,Code 部分往往会使用 [...] 中括号标记该参数需要根据用户自身环境进行替换!
此处 如您是根据该文档步骤进行操作的,则您已经在 Manager Roles 中创建了对应的 “Manager”角色,此处可以直接使用 “Manager”参数即可。
API 参考:ICreateReportEmbedToken - The RLS roles
MSDN 社区技术支持
如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com。 -
Hi Danica,
经测试,文档中对于 roles 参数不应是String, 应为:IEnumerable<string>,所以会有参数不匹配的错误产生。
参见API : CreateReportEmbedToken :
public static PowerBIToken CreateReportEmbedToken(string workspaceCollectionName, string workspaceId, string reportId, string datasetId, DateTime expiration, string username = null, IEnumerable<string> roles = null, string scopes = null)
修改方法:
var embedToken = PowerBIToken.CreateReportEmbedToken(this.workspaceCollection, this.workspaceId, report.Id, "Andrew Ma", new System.Collections.Generic.List<string>(new String[] { "Manager"}));
使用该参数:new System.Collections.Generic.List<string>(new String[] { "Manager"}) 代替 “Manager”
MSDN 社区技术支持
如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com。- 已标记为答案 Danica Y 2017年2月24日 7:34