在微软网站和示例脚本中搜索了几个小时后,我冒了一个险。有没有人熟悉:
https://wabi-us-north-central-d-primary-redirect.analysis.windows.net/metadata/reports/$reportId/contacts。
我希望使用它来获取工作区中的所有报告。--> Contact owner infos.
我能够让它与2个APIS一起工作
Invoke-PowerBIRestMethod -Verbose -Url "https://wabi-us-north-central-d-primary-redirect.analysis.windows.net/metadata/reports/$reported/" -Method Get
Invoke-PowerBIRestMethod -Verbose -Url "https://wabi-us-north-central-d-primary-redirect.analysis.windows.net/metadata/reports/$reportId/contacts" -Method Get
我遇到的问题是,我只能获得我所在的工作区报告。我确实有一个SPN,它拥有PowerBi服务的所有API权限,也有Tenant.ReadAll,但没有成功。
如果有人能更进一步呢?谢谢!
1条答案
按热度按时间u5rb5r591#
我创建了一个Azure AD应用程序并授予API权限,如下所示:
现在,请确保将SPN添加为组成员:
启用**
Allow service principals to use read-only admin APIs
**在PowerBi管理门户添加安全组要解决此问题,请尝试分配**
Workspace.ReadAll
**以获得对所有工作区的所有访问权限。然后尝试对联系人执行相同的操作,
Report.Read.All
* API权限。Power BI Administrator
**角色分配给Azure AD应用程序,如下所示: