You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React/Nodejs项目如何开发永久授权OneDrive连接器实现定时自动下载视频

OneDrive 连接器(React/Node)实现方案

1. 前置配置(Azure 应用注册)

  • 首先完成Azure应用注册,配置OneDrive相关权限,必须勾选*离线访问(offline_access)*权限,再根据你的场景选择个人/商业版OneDrive对应的文件读权限(如Files.Read.All),权限类型选委托权限
  • 注册完成后留存3个核心参数:client_id、client_secret、自定义重定向URI,后续鉴权流程需要使用

2. 一次性授权逻辑(无需用户重复验证)

前端(React 侧)

  • 前端给用户提供授权入口,拼接微软OAuth2.0授权跳转地址,scope参数必须携带offline_access,否则无法拿到长期有效的刷新令牌
  • 用户完成微软账号登录、授权操作后,微软会将授权码回调到你预设的重定向地址,前端拿到授权码后直接传给后端即可

后端(Node 侧)

  • 后端接收授权码后,调用微软令牌接口,同时获取访问令牌(access_token,有效期通常1小时)和刷新令牌(refresh_token,长期有效)
  • 将对应用户的ID、refresh_token、access_token、令牌过期时间加密存储到你的业务数据库,refresh_token属于敏感信息必须加密
  • 后续access_token过期时,后端直接用存储的refresh_token调用接口刷新,就能拿到新的access_token和refresh_token,自动更新数据库字段即可,全程不需要用户参与,只要用户没有在微软账号侧主动取消授权、也没有在你的应用内解除绑定,就能永久保留访问权限

3. 定时自动下载视频实现

  • Node 侧引入node-cron库配置定时任务,例如每日凌晨1点执行的规则为0 0 1 * * *
  • 定时任务触发后,遍历所有已授权的用户:
    • 先校验当前用户的access_token是否过期,过期就先调用刷新接口更新令牌
    • 调用OneDrive文件列表接口,筛选出mp4、mov、avi等视频格式的文件,获取文件直链
    • 用流方式下载文件到指定存储路径,大文件建议采用分片下载避免请求超时

4. 解除授权逻辑

  • 用户在应用内触发解除授权操作时,后端直接删除对应用户存储的令牌信息即可,也可以同步调用微软的令牌作废接口让现有令牌立即失效,避免安全风险

内容的提问来源于stack exchange,提问作者Malika Malik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:09:02