我有一个标准的MVC应用程序,该应用程序以“应用程序拥有的数据”样式显示PowerBi报告。因为我们有多个看不见彼此数据的客户端,所以对每个客户端都进行了设置,以便每个客户端都有一个将其登录到PowerBi的后台帐户。对于我们在Azure中创建的1st 7帐户,它的工作效果很好,但是现在我尝试添加客户端#8,在以下代码行上我得到了禁止状态代码:
var tokenResponse = await client.Reports.GenerateTokenInGroupAsync(GroupId, report.Id, generateTokenRequestParameters);
我们已将PowerBI Pro许可证分配给客户端#8。我可以像客户端#8一样登录PowerBi本身。
以下是该行之前的完整代码块:
using (var client = new PowerBIClient(new Uri(ApiUrl), tokenCredentials))
{
// Get a list of reports.
var reports = await client.Reports.GetReportsInGroupAsync(GroupId);
if (reports.Value.Count < 1)
{
reportList.ErrorMessage = "Group has no reports";
return reportList;
}
try
{
foreach (Microsoft.PowerBI.Api.V2.Models.Report report in reports.Value)
{
var datasets = await client.Datasets.GetDatasetByIdInGroupAsync(GroupId, report.DatasetId);
// Generate Embed Token for reports without effective identities.
var generateTokenRequestParameters = new GenerateTokenRequest(accessLevel: "view");
var tokenResponse = await client.Reports.GenerateTokenInGroupAsync(GroupId, report.Id, generateTokenRequestParameters);
重申一下,如果我以“旧”帐户登录,代码可以正常工作,但是“新”帐户在此行失败。