首先感谢qkqpttgf这位大佬开发的OneManager

一.OneManager是什么

​ 这是一个利用微软onedrive api将onedrive目录映射成一个云盘的程序,类似的程序有很多,比如OneIndex、Pyone、OnePoint等等。这个程序的特点是支持多种onedrive类型,可以部署在vps,heroku,以及云函数上。

二.搭建教程

1.准备条件
  • onedriver账号
    没有的话注册一个 https://onedrive.live.com/
  • 腾讯云账号
    微信号注册一个就行
  • 个人域名
    可有可无,有的话可以通过配置自定义域名来访问网盘
    没有的话可以通过腾讯云提供的免费域名访问
  • 下载OneDrive_SCF源码
2.配置云函数
登录腾讯云SCF
  • 登录后新建云函数。

  • 地区建议选择香港

    1.png

  • 创建方式选择模板函数,模糊搜索:helloworld,Php7

  • 选择 helloworld模板,点击下一步。

  • 函数名称随意填写。

    2.png

创建触发器
  • 触发器配置自定义创建

  • 触发方式API网关触发

  • 勾选集成响应

    3.png

创建完成后进入函数管理 - 函数代码

  • 提交方法:本地上传zip包,上传下载的源码。

开始安装

提交后进入触发管理

  • 点击进入访问路径链接

  • 点击安装

  • 选择简体中文,点击新建 SecretId & SecretKey获取自己的API秘钥,填写至对应的输入框中。

  • 提交后设置管理员密码

  • 设置后点击确认,点击右上角的登录,输入设置的密码即可

三.添加onedriver盘

​ 可选的设置不需要管,直接点击添加onedriver盘

​ 标签和名称随意,如果您的盘是国际版,也就是例如A1、国外edu等获取的,那么需要选择MS:国际版(商业版与个人版);如果是世纪互联,比如买的yiyi的,请选择CN:世纪互联版,不管是什么版,都建议使用自己申请的应用ID与机密,不用OneManager默认的,主要是因为api有使用限制,一定时间内调用的次数有限。

1.申请id和秘钥

​ 如果是国际版,请访问国际版,如果是世纪互联版,请访问世纪互联版,登录自己要注册自己的api的账号。下面我就以国际版为例:

  • 登录之后,找到Azure Active Directory并进入,然后点击左侧的 应用注册。
  • 然后选择 新注册,应用名称随便,但是建议写简明好记的,比如onemanager,具体填写和选择的请按照下图,其中重定向URL地址为 https://scfonedrive.github.io/
  • 注册完之后,复制记录下客户端ID,备用,然后点击左侧的 证书和密码。
  • 新增客户端密码,说明随便写,截止期限,选择最长期限,然后点击添加,把这个刚生成的秘钥保存下来,这个只显示一次,以后就看不到了,如果忘了,只能重新生成一个。
  • 然后点击左侧的 API权限,添加权限,点击 Microsoft Graph,然后点击里面的 委托的权限,找到里面的Files类别里的 Files.ReadWrite.All,勾选之后点击添加权限,然后刷新。
  • 最后将刚才记录的应用程序ID和秘钥,粘贴到onemanager程序里,然后确定即可,有的时候可能第一次添加失败,删除这个盘,重新添加一次即可。

四.自定义域名

​ 如果对访问的地址不太满意,可以自定义域名。域名的话十几块钱就可以申请下来了,不过好像是需要备案的。也可以申请免费的域名freenom,转移到Cloudflare进行域名解析,就不用备案了,还自带SSL证书。

选择触发管理,点击SCF_API_SERVICE,点击自定义域名,新建自定义域名,没有证书的话选择http协议

添加CNAME记录,将域名指向服务的二级域名

路径映射选择:自定义路径映射

路径 环境
/ 发布

然后就没有了。访问自己的域名即可。