微软OneDrive目录索引程序onedrive-vercel-index搭建教程

微软OneDrive目录索引程序onedrive-vercel-index搭建教程

项目说明

onedrive-vercel-index是由@Spencer Woo 编写的一款onedrive目录索引程序,相比其他的目录索引程序,最大的特点就是美观,不用部署在自己的服务器上。

项目地址:https://github.com/spencerwooo/onedrive-vercel-index

官方展示:https://drive.swo.moe/zh-CN/

官方文档:https://ovi.swo.moe/zh/docs/getting-started

图片[1]-微软OneDrive目录索引程序onedrive-vercel-index搭建教程-北辰博客

准备工作

一个GitHub账号,一个能正常联通GitHub和Vercel的网络环境。

基础教程

Fork项目

登录GitHub,找到onedrive-vercel-index的项目地址,将此项目 Fork 到你自己的 GitHub 账户中。

图片[2]-微软OneDrive目录索引程序onedrive-vercel-index搭建教程-北辰博客

修改设置

需要修改的文件在config目录下,分别是 config/site.config.js 与 config/api.config.js。前者是用来定制显示的网页,后者是用来定义 API 参数的。一般只用修改前者即可。

图片[3]-微软OneDrive目录索引程序onedrive-vercel-index搭建教程-北辰博客

在 config/site.config.js里必须要修改的两个值

图片[4]-微软OneDrive目录索引程序onedrive-vercel-index搭建教程-北辰博客
  • userPrincipalName – 是用来在 OAuth 步骤时认证你的个人信息的。通常是你的 微软账户邮箱
  • baseDirectory – 是你要分享的 OneDrive 目录。你必须保证此目录有效且与此参数一致。(你可以直接在 OneDrive 内创建一个叫做 owouo 文件夹,并将此项设置为 /owouo。)

还有一些其他可以自定义的地方,title是网站的标题,footer是页脚显示html代码,email、Github链接和Telegram链接可以修改为你自己的按照你的需要修改。

修改后保存。

图片[5]-微软OneDrive目录索引程序onedrive-vercel-index搭建教程-北辰博客

Vercel 部署

在 Vercel 导入 你自己的 onedrive-vercel-index GitHub 项目,并进行以下设置:

  • 修改 Build command 为 pnpm build.
  • 修改 Install command 为 pnpm install.
图片[6]-微软OneDrive目录索引程序onedrive-vercel-index搭建教程-北辰博客
图片[7]-微软OneDrive目录索引程序onedrive-vercel-index搭建教程-北辰博客

然后点击Deploy,Vercel 将会下载你的项目并进行部署。

连接到 Redis

我们推荐使用 Upstash ,它完全免费,并且与 Vercel 深度合作。当然,你也可以使用你自己的 Redis 数据库,只要有 Vercel 能用的访问链接就行。

打开upstash,选择连接到你自己的项目上,根据提示进行后续的操作,在完成Github授权后,就算完成了。

图片[8]-微软OneDrive目录索引程序onedrive-vercel-index搭建教程-北辰博客

重新部署

最后,重新进行一次部署。并在部署完成后访问 Vercel 提供的链接,onedrive-vercel-index 将会引导你进行 OAuth 认证。你也可以在 Vercel 自定义访问链接。

Checking the deployed domain and navigate to the live site

进行认证

访问你的 onedrive-vercel-index ,如果你从未进行认证,OAuth 认证将会自动开始。

第一步 – 准备工作

Step 1 - preparing for authentication

检查此页面上的参数是否正确,尤其是 client_id 与 client_secret (加密的),他们应该与你的项目里的一致。你还要检查一下 API 权限,应该只需要这三个:

  • user.read: 在进行 OAuth 时认证你的身份,防止某些傻逼通过重新认证雷普你的项目。
  • files.read.all: 用于访问你的 OneDrive 的文件
  • offline_access: 就是……用来离线访问 🙃

如果一切都准备好了,就来到第二步。如果有些什么差错,检查你的 config/api.config.js 然后重新部署。

第二步 – 获取认证码

Step 2 - getting the authorisation code

我们已经基于 config/api.config.js 给你准备好认证链接了。点击链接,你将会进入一个新标签页并进行登录。请确保你登陆的账户与你在 config/site.config.js 的 userPrincipalName 里设置的一致。

The localhost URL that you would be redirected to

完成登录后,你将会跳转到 http://localhost ,尽管它显示无法访问,你只需要复制地址栏中的地址然后粘贴到第二步的输入框里。onedrive-vercel-index 会自动识别用于获取 access_token 与 refresh_token 的认证码,然后点击 Get tokens 就行。

第三步 – 获取凭证

Success! We have acquired the tokens that are needed

你只需要等待几秒钟,页面上就会显示成功提示以及几行凭证,请点击 Store tokens ,你的凭证就会保存到 Redis 数据库里。

维护

上面的后半段教程复制与官方文档,主要是想记录一下关于后续可能出现404的解决办法。

出现404的原因大概率是更改了onedrive的账号密码或者授权出问题了,这里的解决办法是重新进行OAuth 认证。

重新认证的方法:删除 upstash 中的 redis 缓存,再刷新网站。

进入https://console.upstash.com/在首页会看到 Databases 下面 onedrive-vercel-index项目,进去后选择Data Browser,把里面的token都删除,然后重新访问网站就可以重新认证。

图片[14]-微软OneDrive目录索引程序onedrive-vercel-index搭建教程-北辰博客
© 版权声明
THE END
喜欢就支持以下吧
点赞10赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码

取消
昵称表情代码图片

    暂无评论内容