Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi all. I try to pass and use UserId (string) in token request parameter instead of the username. It's look like this:
var generateTokenRequestParameters = new GenerateTokenRequest("View", null,
identities: new List<EffectiveIdentity> {
new EffectiveIdentity(
username: userId, roles: new List<string> {"role"}, datasets: new List<string> {datasets}
)});And then I try to get token response by this parameters:
tokenResponse = await client.Reports.GenerateTokenInGroupAsync(groupId, reportId, generateTokenRequestParameters);
But I immediately get an error: "Microsoft.Rest.HttpOperationException: Operation returned an invalid status code 'BadRequest'"
Table filter DAX expression look like this: [UserId] = USERNAME(). (UserId - string field)
What am I doing wrong and how can this problem be solved?
Solved! Go to Solution.
Hi @stas317,
Could you try using the code below to see if it works? ![]()
// This is how you create embed token with effective identities
if (!string.IsNullOrEmpty(username))//replace usename with your userId
{
var rls = new EffectiveIdentity(username, new List<string> { report.DatasetId });
if (!string.IsNullOrWhiteSpace(roles))
{
var rolesList = new List<string>();
rolesList.AddRange(roles.Split(','));
rls.Roles = rolesList;
}
// Generate Embed Token with effective identities.
generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "view", identities: new List<EffectiveIdentity> { rls });
}
else
{
// Generate Embed Token for reports without effective identities.
generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "view");
}
var tokenResponse = await client.Reports.GenerateTokenInGroupAsync(GroupId, report.Id, generateTokenRequestParameters);
Regards
Hi @stas317,
Could you try using the code below to see if it works? ![]()
// This is how you create embed token with effective identities
if (!string.IsNullOrEmpty(username))//replace usename with your userId
{
var rls = new EffectiveIdentity(username, new List<string> { report.DatasetId });
if (!string.IsNullOrWhiteSpace(roles))
{
var rolesList = new List<string>();
rolesList.AddRange(roles.Split(','));
rls.Roles = rolesList;
}
// Generate Embed Token with effective identities.
generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "view", identities: new List<EffectiveIdentity> { rls });
}
else
{
// Generate Embed Token for reports without effective identities.
generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "view");
}
var tokenResponse = await client.Reports.GenerateTokenInGroupAsync(GroupId, report.Id, generateTokenRequestParameters);
Regards
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 1 |
| User | Count |
|---|---|
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 3 |