Power BI Api 对 GenerateToken 的调用引发 DMTS_MonikerNotFoundError

Power BI Api call to GenerateToken throws DMTS_MonikerNotFoundError

当我们尝试 GenerateToken 使用 PowerBI API v2 在 RLS/App 拥有数据场景中获取嵌入令牌时,我们得到以下响应:

{"error":{"code":"DMTS_MonikerNotFoundError","pbi.error":{"code":"DMTS_MonikerNotFoundError","parameters":{},"details":[]}}}

有没有人以前处理过这个问题并且知道可能出了什么问题或如何了解更多,即 Power BI 中是否有某个地方我可以看到日志和这里发生的事情,DMTS 代表什么?

我将如下所示的 JSON 对象传递给 GenerateToken 调用:

{
  "accessLevel": "View",
  "datasetId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "identities": [
    {
      "username": "userx@mydomain.com",
      "datasets": [
        "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      ]
    }
  ]
}

另一个观察结果是,如果我传入主帐户(我们在嵌入时连接到 Azure 的用户)而不是 userx@mydomain.com,那么相同的代码可以正常工作,我们会得到一个嵌入令牌.

在 Power BI 示例应用中,上述错误表现为:

Operation returned an invalid status code 'NotFound'<r><r> 
at Microsoft.PowerBI.Api.V2.Reports.<GenerateTokenInGroupWithHttpMessagesAsync>d__16.MoveNext()

以防万一这对其他人有帮助。我现在对上面的问题有了更好的理解。

问题的根源似乎是对于传递给 API 请求的数据集,所有者是报告的发布者(它支持),但它不是主账户。

主账户接管所有权后(您可以从 Power BI portal > Select 您的工作区 > 数据集 > 在感兴趣的数据集上,转到设置 > 接管),已正确发布嵌入令牌。

传入的有效用户名似乎没有任何作用,直到嵌入令牌用于呈现报告。

注意:我还是不知道DMTS是什么意思,不过现在问题已经解决了。