Vercel+Onedrive=一个假的网盘!

好的,这一篇文章呢主要是写给自己看,以防日后密码失效需要重新配置而写。

首先呢是偶然发现有一个十分优质的GitHub项目,onedrive-vercel-index

项目地址:

https://github.com/spencerwooo/onedrive-vercel-index

当然他的访问速度还是有点慢的,而且还需要使用魔法😂这个就等日后看看怎么解决吧

这个项目呢,可以用Vercel部署一个网站然后再结合反代把Onedrive网盘的内容目录显示出来,可以实现直链下载,在线播放,以及访客无需登录即可访问Onedrive云盘下的目录,然后下载。

这不就可以当一个分享性质的网盘?然后本地同步到Onedrive云端,然后以后有什么刷机包,工具包就可以直接上传分享给大家。光想想都觉得非常的美妙~

然后就说干就干,这里说一句,这个网盘的整体搭建难度不大,但是配置较多且比较繁琐,所以呢才会有这么一篇文章来帮助大家避坑。

好的,让我们跟随官方文档开始吧!

这里我下载了PDF版的文档,各位可以下载后照着文档配合着本文一起看。

首先你需要一个可以自己注册Azure程序的微软账号,可以去拼多多或者淘宝上买一个,搜索Onedrive25TB,选择不限制API的就可以,价格也还ok,当然如果你想自己搞E5账号自己折腾当然也可以,这里我就选择买一个省事一点,毕竟日后要是炸鸡了,客服还包换号对吧,省的自己闹腾(写文章前已经炸了,客服马上就发了新号)。

然后就是改密码啥的就不说了,记住你的账号,然后开始吧。

立即上手.pdf

配置Clientid

首先Fork这个项目,这个就不多说

然后按着文档修改对应的js文件,这个也不用多说,只需要知道js文件再config文件夹就OK。

API参数这里我写的是

js
authApi: 'https://login.microsoftonline.com/common/oauth2/v2.0/token',
driveApi: 'https://graph.microsoft.com/v1.0/me/drive',

和官网一样没有变动,如果你是世纪互联的号那可能就要更改一下了

然后就是需要踩坑的地方了

就是你需要自己配置clientid 与 secret

好的,首先我们先打开以下链接:

打开之后找到新建应用程序的地方,这一步都会

接下来按照图片所示进行填写

onedriveaddapp

然后点击注册

之后再寻找你的ClientID

在概述里面可以找到

onedriveabouttt

然后就是建一个密码

onedrivepass

然后这么填写信息

onedrivepass2

最多只能写4年。

之后就是复制你的Client secret

onedrivepass3

复制值就ok

然后修改API权限

找到这个地方

onedriveapi1

点击添加权限

然后选择这个

onedriveapi2

接着就是搜索那三个权限了

  • User.Read(这应该一开始就勾上了)
  • Files.Read.All
  • offline_access

onedriveapi3

搜索好一个点一个勾就ok。

到这里你的id 和 secret都准备好了,回到仓库修改 api.config.js相关内容

secret就按照官网文档进行AES加密后再填写进去。

ok接下来你还需要创建一个REDIS

打开这个链接 https://console.upstash.com/

注册之后新建就OK

然后复制一下备用。

ok,现在请确认你都填好了相关的数据,本文的步骤可能会和官网有些许出入,不用担心,因为搭建之后发现这样的效率较高,耗费时间也要少一些。

现在你可以在vercel里导入项目了

之后你就需要如官网所说,配置好这个vercel项目的环境变量

以防你找不到,我特意截了一张图

vercelennnbian

然后就是配置好后重新部署

等待几分钟之后就可以进行认证了

第一步只是确认信息无误

第二步会让你登录微软账号认证许可,我们点击接受即可。

onedriverenzhengg

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

拿了张官方的图哈哈哈哈

之后等待几分钟,回到vercel里点击你的网站链接就ok了,别跟我说你找不到😂

如果你的OneDrive炸鸡了,需要重新部署redis和js配置文件

然后重新认证

认证地址通常是

你的项目地址加上 onedrive-vercel-index-oauth/step-1/

当然,如果OneDrive炸鸡了,里面的文件不能在线转移,只能下载后再转移。