如何从OneDrive for Business上传文件至Microsoft AI Video Indexer?
解决OneDrive for Business视频上传至Azure AI Video Indexer的方案
核心限制说明
Azure AI Video Indexer原生OneDrive集成仅支持个人版OneDrive,直接用OneDrive for Business的共享URL调用VI API会失败,可通过以下两种可行方案实现上传:
方案一:获取可访问SAS URL后调用VI API上传
- 在Azure AD注册应用,授予
Files.Read.All或Sites.Read.All应用程序权限,获取访问令牌 - 调用Microsoft Graph API的
GET /drives/{drive-id}/items/{item-id}/createLink接口,创建带读取权限的临时SAS链接(类型选embed或view,确保可直接访问文件内容) - 将SAS URL作为
videoUrl参数,调用VI的Upload VideoAPI:POST /Accounts/{accountId}/Videos?name={videoName}&videoUrl={sasUrl}
方案二:下载文件至本地后上传
- 调用Graph API的
GET /drives/{drive-id}/items/{item-id}/content接口,将视频文件下载至本地临时存储 - 通过
multipart/form-data形式,调用VI的Upload VideoAPI上传本地文件;大文件建议使用VI API的分块上传机制
关键注意事项
- 确保Azure AD应用权限配置正确,避免因权限不足无法获取文件访问权限
- SAS链接需设置合理有效期,保证上传过程中链接不会过期
- 本地上传需考虑文件大小与网络带宽,大文件优先用分块上传
内容的提问来源于stack exchange,提问作者SimonB
相关产品推荐
相关产品推荐

