oneindex是一个支持挂载国际版OneDrive世纪互联OneDrive的网盘程序,由 Vercel 和 Next.js 提供支持。可以将Onedrive存储的文件展示,直链下载。支持视频、音乐等媒体能在线预览!还能当网站的图床视频床。不用服务器空间,不走服务器的流量!实现零成本搭建自己的专属网盘

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

演示:https://onedrive-vercel-index-five-sandy.vercel.app/(已经被墙了)
自定义的域名:https://wp.tencent.cf/

免费域名:http://ym.aerr.cn

由于官方文档写的不是很详细,折腾的我头都大了,还不断出现错误,所以出一篇教程。

准备

  • GitHub账号
  • 一个域名(官方的已经被墙了,建议绑定自己的)
  • E5开发者的OneDrive
  • 科学上网(最好备一个,以防GitHub和vercel抽风)

教程

注册一个应用程序

打开以下链接:

新注册一个应用程序:

  1. 登入你的OneDrive账户(xxx@xxx.onmicrosoft.com开头的),点击左上角新注册。
  2. 输入一个名字,例如 qyyx-onedrive-vercel-index。
  3. 选择:任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)
  4. 将重定向 URI 设置为 Web(在下拉菜单里)以及 http://localhost
  5. 点击注册。

获取你的 client id 与 client secret

client id应用程序(客户端) ID ,先复制下来保存到记事本(随便一个地方也行)

你的 client secret 需要手动获取

  1. 点击 证书和密码
  2. 点击 新客户端密码
  3. 创建一个新 client secret ,描述为 qyyx-onedrive-vercel-index
  4. 将 到限 设置为 24个月

点击添加 ,然后复制 client_secret 的值并妥善保管。(只有一次复制机会)

接下来把client_secret进行AES加密

官方文档里https://ovi.swo.moe/zh/docs/advanced#%E4%BF%AE%E6%94%B9-apiconfigjs
(官方文档时不时会抽风,建议科学上网)
复制加密后的client_secret,保存到记事本

修改 API 权限

点击 API权限,点击 添加权限,再点击 Microsoft Graph 再点击 委托的权限
然后搜索:

  • User.Read(默认已存在)
  • Files.Read.All
  • offline_access

添加上面三个

Fork项目

1. 首先打开项目地址,Fork项目

修改设置

有些设置是需要修改的。项目包括两个配置文件,分别是 config/site.config.js 与 config/api.config.js。前者是用来定制网页的标题之类的,后者那个是用来定义 API 参数的。

首先打开config/api.config.js,把client id加密后的client_secret填进去保存

接着打开 config/site.config.js

  • userPrincipalName - 必填,填你的OneDrive账号(xxx@xxx.onmicrosoft.com开头的)。
  • baseDirectory - 是你要分享的 OneDrive 目录。默认是根目录“/”。(你可以直接在 OneDrive 内创建一个叫做 Public 文件夹,并将此项设置为 /Public。)
  • 其他东西不重要,翻译一下看着改就行了

导入到 Vercel 并部署

没用账号的直接用github账号注册登录

在 Vercel https://vercel.com/new
导入你自己仓库的 onedrive-vercel-index 项目,并deploy

连接到 Redis

创建一个 Redis 数据库,并且将数据库的访问链接填写到 Vercel

注册并登录upstash,还是用github账号
https://console.upstash.com/login

接下来打开https://vercel.com/integrations/upstash,添加集成

添加Redis和Kafka

重新部署

回到项目库,进入你的项目https://vercel.com/dashboard

重新部署需要一到两分钟,完成后打开自带的域名(自带的已经被墙了,需要科学上网),不方便科学上网的可以绑定自己的域名再访问,看一下id和密钥,正确的话下一步

接下来就看着教程操作就行了,打开获取授权码的网址,选择OneDrive账号登录(xxx@xxx.onmicrosoft.com开头的),然后就是给权限,之后会跳转到一个网页上,是报错的,不用管报错,直接复制网址回到安装这里粘贴上去

看到安装成功了,然后点击存储tokens,最后重新打开一遍网址就行了

届ける言葉を今は育ててる
最后更新于 2022-10-19