如何通过PowerBI REST API获取工作区中的报表?
解决PowerBI REST API获取工作区报表为空的问题
原因说明
你调用的 GET /v1.0/myorg/reports 接口仅返回**我的工作区(My Workspace)**内的报表,而你的报表存放在自定义工作区(Workspace1)中,因此返回空列表。
正确的API调用方式
需要使用指定工作区的报表查询接口,将工作区ID替换到请求路径中:
GET https://api.powerbi.com/v1.0/myorg/groups/{工作区ID}/reports
将 {工作区ID} 替换为你获取到的完整工作区ID(即返回结果中的 id: "43d5dbb1-",注意使用未截断的完整ID值)。
示例返回结果
调用成功后,会返回该工作区下的报表列表,格式类似:
{ "@odata.context": "https://wabi-canada-central-b-primary-redirect.analysis.windows.net/v1.0/myorg/$metadata#groups('43d5dbb1-xxxx')/reports", "value": [ { "id": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxx", "name": "报表1", "webUrl": "https://app.powerbi.com/reports/xxxxxx...", "embedUrl": "https://app.powerbi.com/reportEmbed?reportId=xxxxxx...", "datasetId": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxx" }, { "id": "yyyyyy-yyyy-yyyy-yyyy-yyyyyyyy", "name": "报表2", "webUrl": "https://app.powerbi.com/reports/yyyyyy...", "embedUrl": "https://app.powerbi.com/reportEmbed?reportId=yyyyyy...", "datasetId": "yyyyyy-yyyy-yyyy-yyyy-yyyyyyyy" } ] }
注意事项
- 确保你的API调用账号/应用拥有该工作区的读取报表权限(至少为Workspace Member角色)。
- 若需要批量获取所有工作区的报表,可先调用
GET /v1.0/myorg/groups获取所有工作区ID,再遍历调用每个工作区的报表接口。
内容的提问来源于stack exchange,提问作者Ahmed
相关产品推荐
相关产品推荐

