我正在尝试将新的工作空间嵌入到我的门户。生成嵌入令牌我使用功能应用程序。我有两个工作空间&一个服务主体。我已经为两个工作区上的服务主体授予了成员访问权限。现在,当访问第一个工作空间时,我能够生成嵌入令牌。但是当我试图为第二个工作空间生成嵌入令牌时,我得到下面的消息。
"Operation returned an invalid status code 'BadRequest'"
我用来生成的代码是
var request = new GenerateTokenRequestV2()
{
Datasets = datasets,
Reports = reports,
TargetWorkspaces = targetWorkspaces
};
//generate embed token
var token = client.EmbedToken.GenerateToken(request);
var embedToken = new AnalyticsTokenDto
{
EmbedToken = token.Token.ToString()
};
这里'client.EmbedToken.GenerateToken(request)'无法生成嵌入令牌。我得到的堆栈跟踪是
在Microsoft.PowerBI.Api.EmbedTokenOperations.d__5.MoveNext ()在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()在System.Runtime.CompilerServices.TaskAwaiter。HandleNonSuccessAndDebuggerNotification(工作任务)在Microsoft.PowerBI.Api.EmbedTokenOperationsExtensions.d__1.MoveNext ()在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()在System.Runtime.CompilerServices.TaskAwaiter。HandleNonSuccessAndDebuggerNotification(工作任务)在Microsoft.PowerBI.Api.EmbedTokenOperationsExtensions。GenerateToken(IEmbedTokenOperations, GenerateTokenRequestV2)在C:xxxxAnalyticsToken.cs:line 108
这里我不知道什么是错的,一个工作空间的工作&另一个则不然。两个工作区都是高级容量。有人能帮我一下吗?有我不知道的限制吗?
这个方法看起来很好,请确保您没有在其他工作区中使用RLS。
如果您正在使用RLS,那么您需要传递一个可用于行级安全规则的身份列表。
effecveidentity允许报表开发人员定义一个自定义标识,该标识可以在用户嵌入和访问报表时使用。您可以确定哪些用户被授权查看报表。
引用:
- 嵌入令牌-生成令牌- REST API (Power BI Power BI REST)api) | Microsoft Learn
- EffectiveIdentity