如何通过面向OneDrive的Microsoft Graph API获取mimetype与文件ID
OneDrive集成同时获取文件ID与MimeType解决方案
核心实现方法
你可以通过$select查询参数自定义接口返回字段,在调用原有接口时明确指定需要返回id(文件ID)和file/mimeType两个字段即可,不需要额外调用其他接口。
具体操作步骤
- 调用接口时,在请求URL末尾追加查询参数
$select=id,file/mimeType - 如果需要同时保留接口默认返回的其他常用字段(比如文件名、修改时间等),可以把对应字段名也加到
$select的列表里,例如$select=id,name,lastModifiedDateTime,file/mimeType - 返回结果中会直接在
file节点下携带mimeType属性,和文件id平级返回,不需要二次解析
特殊场景适配
- 如果你的请求是针对指定文件夹下的文件列表,同样可以在拉取文件夹子项的接口中使用相同的
$select参数配置,效果完全一致 - 对于文件夹类型的条目,不会返回
file节点,你可以直接判断该节点是否存在即可过滤掉非文件条目,不需要额外处理
示例返回结构
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#drive/recent(id,name,lastModifiedDateTime,file)", "value": [ { "id": "01BYE5RZ2J43XK7QJVTLQJZ26M2Z2M7QXX", "name": "示例文档.docx", "lastModifiedDateTime": "2024-01-01T12:00:00Z", "file": { "mimeType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "hashes": { "quickXorHash": "xU3hV8f+7G5q8z9a0b1c2d3e4f5g6h7i8j9k0l1m2n3o4p5q6r7s8t9u0v1w2x3y4z5==" } } } ] }
内容的提问来源于stack exchange,提问作者Jason Good
相关产品推荐
相关产品推荐

