如何从Office365 Graph API获取Purview GUID?
Graph API DriveItem与Purview实体GUID的关联及获取方法
你遇到的核心问题是Graph API返回的DriveItem ID和Purview所需的实体GUID并非直接映射,需要通过Purview的搜索或实体查询API来关联获取,具体方法如下:
一、先明确Graph DriveItem中可用于关联的字段
从Graph API获取的DriveItem响应里,有几个关键字段可以用来定位Purview中的实体:
id:Graph分配的DriveItem唯一IDwebUrl:文件的完整访问链接(最可靠的关联字段)uniqueId:部分DriveItem会返回的全局唯一标识符(部分场景可能缺失)
二、获取Purview实体GUID的两种常用方法
方法1:通过Purview搜索API定位实体
调用Purview的搜索接口,用文件的webUrl作为关键词,同时过滤资产类型来精准匹配:
POST {你的Purview账户端点}/catalog/api/search/query Content-Type: application/json { "keywords": "你的文件webUrl", "filter": "assetType eq 'SharePoint File' OR assetType eq 'OneDrive File'", "limit": 1 }
返回结果中value[0].id字段就是Purview所需的实体GUID。
方法2:通过Purview实体唯一属性查询API获取
Purview中每个OneDrive/SharePoint文件实体都有一个qualifiedName属性,对应文件的webUrl或完整路径。直接调用实体查询接口:
GET {你的Purview账户端点}/catalog/api/atlas/v2/entity/uniqueAttribute/type/sharepointfile?attr:qualifiedName=你的文件webUrl
(如果是OneDrive个人文件,实体类型替换为onedrivefile)
返回结果里的entity.guid即为目标GUID。
三、注意事项
- 确保Purview已完成对应OneDrive/SharePoint站点的数据源扫描,否则无法检索到实体。
- 如果批量处理文件,建议先通过Purview搜索API批量查询,减少单个请求的开销。
内容的提问来源于stack exchange,提问作者user124114
相关产品推荐
相关产品推荐

