none
Power BI Embedded限制用户报错 RRS feed

  • 问题

  • 我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也无法查看,请问怎么解决?



    2017年2月23日 7:23

答案

  • 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
    2017年2月23日 10:09
    版主

全部回复

  • 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

    2017年2月23日 8:11
    版主
  • 就是已经创建了这个role,依然是报这个错。

    还是说code的其他地方还需要做相应的修改?

    2017年2月23日 8:19
  • 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
    2017年2月23日 10:09
    版主