好的,这一篇文章呢主要是写给自己看,以防日后密码失效需要重新配置而写。
首先呢是偶然发现有一个十分优质的GitHub项目,onedrive-vercel-index
项目地址:
https://github.com/spencerwooo/onedrive-vercel-index
当然他的访问速度还是有点慢的,而且还需要使用魔法😂这个就等日后看看怎么解决吧
这个项目呢,可以用Vercel部署一个网站然后再结合反代把Onedrive网盘的内容目录显示出来,可以实现直链下载,在线播放,以及访客无需登录即可访问Onedrive云盘下的目录,然后下载。
这不就可以当一个分享性质的网盘?然后本地同步到Onedrive云端,然后以后有什么刷机包,工具包就可以直接上传分享给大家。光想想都觉得非常的美妙~
然后就说干就干,这里说一句,这个网盘的整体搭建难度不大,但是配置较多且比较繁琐,所以呢才会有这么一篇文章来帮助大家避坑。
好的,让我们跟随官方文档开始吧!
这里我下载了PDF版的文档,各位可以下载后照着文档配合着本文一起看。
首先你需要一个可以自己注册Azure程序的微软账号,可以去拼多多或者淘宝上买一个,搜索Onedrive25TB,选择不限制API的就可以,价格也还ok,当然如果你想自己搞E5账号自己折腾当然也可以,这里我就选择买一个省事一点,毕竟日后要是炸鸡了,客服还包换号对吧,省的自己闹腾(写文章前已经炸了,客服马上就发了新号)。
然后就是改密码啥的就不说了,记住你的账号,然后开始吧。
首先Fork这个项目,这个就不多说
然后按着文档修改对应的js文件,这个也不用多说,只需要知道js文件再config文件夹就OK。
API参数这里我写的是
authApi: 'https://login.microsoftonline.com/common/oauth2/v2.0/token',
driveApi: 'https://graph.microsoft.com/v1.0/me/drive',和官网一样没有变动,如果你是世纪互联的号那可能就要更改一下了
然后就是需要踩坑的地方了
就是你需要自己配置clientid 与 secret
好的,首先我们先打开以下链接:
-
Microsoft Azure App registrations( OneDrive 国际版、企业版与教育版,E5 订阅专用)
-
Microsoft Azure.cn App registrations(OneDrive 世纪互联专用)
打开之后找到新建应用程序的地方,这一步都会
接下来按照图片所示进行填写

然后点击注册
之后再寻找你的ClientID
在概述里面可以找到

然后就是建一个密码

然后这么填写信息

最多只能写4年。
之后就是复制你的Client secret

复制值就ok
然后修改API权限
找到这个地方

点击添加权限
然后选择这个

接着就是搜索那三个权限了
- User.Read(这应该一开始就勾上了)
- Files.Read.All
- offline_access

搜索好一个点一个勾就ok。
到这里你的id 和 secret都准备好了,回到仓库修改 api.config.js相关内容
secret就按照官网文档进行AES加密后再填写进去。
ok接下来你还需要创建一个REDIS
打开这个链接 https://console.upstash.com/
注册之后新建就OK
然后复制一下备用。
ok,现在请确认你都填好了相关的数据,本文的步骤可能会和官网有些许出入,不用担心,因为搭建之后发现这样的效率较高,耗费时间也要少一些。
现在你可以在vercel里导入项目了
之后你就需要如官网所说,配置好这个vercel项目的环境变量
以防你找不到,我特意截了一张图

然后就是配置好后重新部署
等待几分钟之后就可以进行认证了
第一步只是确认信息无误
第二步会让你登录微软账号认证许可,我们点击接受即可。

然后会给你返回一个localhost的链接,我们直接复制这个链接,填到框框里即可

拿了张官方的图哈哈哈哈
之后等待几分钟,回到vercel里点击你的网站链接就ok了,别跟我说你找不到😂
如果你的OneDrive炸鸡了,需要重新部署redis和js配置文件
然后重新认证
认证地址通常是
你的项目地址加上 onedrive-vercel-index-oauth/step-1/
当然,如果OneDrive炸鸡了,里面的文件不能在线转移,只能下载后再转移。