简单几步零成本使用Vercel部署OneIndex 无需服务器搭建基于OneDrive的网盘
前提
- 你需要一个OneDrive账号,必须管理员开放API
- 需要已安装Node.js
- 拥有Github账号,没有就注册一个
- 魔法上网环境(看情况)
注册应用
登录https://portal.azure.com/#home
1. 从页面上找到 管理Azure Active Directory,点击查看

2. 左侧选择应用注册,点击新注册

3. 输入应用名称,受支持的账户类型选择第三项,重定向填 http://localhost,点击注册

4. 注册后会自动跳转到概览页面,复制客户端ID,用小本本把它记下来

5. 点击 左侧证书和密码,右边选择 新客户端密码,填入说明,截至日期最大只能选24个月,点击添加

6. 将新建的值复制,用小本本记下来

编辑权限
1. 左侧选择API权限,右边点添加权限
2. 选Microsoft Graph,再选委托的权限

3. 添加offline_access、Files.Read和Files.Read.All权限,原来的User.Read可以选择删除

获得token
1. 打开命令提示符,输入以下指令(需要安装Node)
npx @beetcb/ms-graph-cli
世纪互联就选Operated by 21Vianet in China,不是就选第一项

选OneDrive

会要求你输入client_id,就是前面用小本本记下的客户端ID,复制了可以右键直接粘贴进去
client_secret就是上面第6步新建的,redirect_url默认http://localhost:3000就可以不用输入,然后回车

2. 之后浏览器会打开一个窗口要求登录,登录你的账号,接受许可,提示Success,回到命令提示符,就能看到refresh_token和access_token,这个窗口先别关或者你把上面的内容保留下来

页面部署
1. 打开这个页面onedrive-vercel-index https://github.com/spencerwooo/onedrive-vercel-index
2. Fork仓库,修改仓库中config/api.json和site.json文件
将自己的clientId和网页标题修改好


3. 打开Vercel,登录Github账号,登陆后到首页点击New Porject,选择刚刚Fork的仓库点Import导入


4. 会进入新页面,Create A Team点Skip跳过
5. 到下面的Configure Project,其他不用管,展开Environment Variables设置环境变量
需要设置这三变量:REFRESH_TOKEN,ACCESS_TOKEN,CLIENT_SECRET,值的内容在前面的步骤中获取到了,注意是大写。

6. 点Deploy部署,如果右下角一直提示Connection...就打开魔法上网工具
7. 部署好后点Visit就能看到部署后的网页

建议把部署后的网址放在Git仓库的About上
最后效果

自定义域名
1. 登录Vercel,选择自己的项目,选择View Domains

2. Vercel默认会分配一个域名,选择它点Edit编辑,填入自己的域名再点Save保存

3. 似乎因为GFW的原因会无法访问,可以尝试这样设置域名解析
| 记录类型 | 值 |
|---|---|
| A | 76.223.126.88 |
简单几步零成本使用Vercel部署OneIndex 无需服务器搭建基于OneDrive的网盘的更多相关文章
- 部署项目到服务器 & 搭建博客网站
搭建博客网站 作为名程序员,或者是网络编程爱好者,拥有一个自己的博客网站再好不过,本篇文章手把手教你部署自己的网站
- Docker部署Nextcloud私有网盘
对于国内某度的网盘限速行为大家有目共睹,不过对于商业化的产品模式这样也无可厚非,毕竟企业也是盈利为目的.如果想享受互联网技术带来的便利,刚好也懂一点技术的话可以尝试搭建属于私有的网盘.个人比较推荐的是 ...
- Google Colab——零成本玩转深度学习
前言 最近在学深度学习HyperLPR项目时,由于一直没有比较合适的设备训练深度学习的模型,所以在网上想找到提供模型训练,经过一段时间的搜索,最终发现了一个谷歌的产品--Google Colabora ...
- Hexo + Serverless Framework,简单三步搭建你的个人博客
很多人都想拥有自己的个人博客,还得看起来漂亮.酷酷的.尤其对开发者来说,不仅可以分享技术(装)心得(逼),面试的时候还能成为加分.这里介绍两款好用的神器,不用忙前(前端)忙后(后端),简单3min即可 ...
- 零成本搭建个人博客之图床和cdn加速
本文属于零成本搭建个人博客指南系列 为什么要使用图床 博客文章中的图片资源文件一般采用本地相对/绝对路径引用,或者使用图床通过外链进行引用展示.本地引用的弊端我认为在于: 图片和博客放在同一个代码托管 ...
- 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】
说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...
- 简单几步配置gitlab
简单几步配置gitlab 之前配置gitlab需要很多步骤,要装apache2.ruby.tomcat.mysql等一片东西.有没有更简单的方式呢?现在可以借助bitnami,简化了很多. 可以参考v ...
- Oracle EBS-SQL (CST-3):检查零成本交易.sql
SELECT '零成本交易' 交易异常类型 ,msi.segment1 ...
- css3简单几步画一个乾坤图
原文:[原创]css3简单几步画一个乾坤图 效果如上,鼠标移上去会有动画. 代码如下非常简单: <html> <head> <style> .outer{heigh ...
随机推荐
- Install Percona XtraDb Cluster 5.6.20 on CentOS 6.5
http://blog.51cto.com/hj192837/1546149 You should have odd number of real nodes. node #1hostname: pe ...
- kratos
技术文章 日志库的使用姿势 通过 layout 探索 kratos 运行原理 发版日志 发布日志 - kratos v2.0.5 版本发布 发布日志 - kratos v2.0.4 版本发布
- JS 处理图片平铺问题
background: url("../../../assets/image/center.png") no-repeat; // 让图片不平铺 overflow: hidde ...
- Docker详解(一)——
Docker详解 https://www.cnblogs.com/antLaddie/p/14276726.html
- Lucene入门及实际项目应用场景
导入maven依赖 <dependency> <groupId>org.apache.lucene</groupId> <artifactId>luce ...
- python3 用multiprocessing模块传递多个参数
from datetime import datetime from time import sleep import numpy as np import multiprocessing # fro ...
- Element 对话框简单使用
官方文档介绍的是页内对话框,但没有基于组件的对话框,这里记录一下,原理就是父子传值是否显示 父页导入组件 <template> <div class="home" ...
- AntDesign VUE:上传组件自定义限制的两种方式(Boolean、Promise)
AntD上传组件 AntDesign VUE文档 第一种方式 beforeUpload(file) { let isLt = true if (filesSize) { isLt = file.siz ...
- GC-优化-案例
优化案例 Service S 优化 现在看一下执行jstat -gcutil的结果 S0 S1 E O P YGC YGCT FGC FGCT GCT 12.16 0.00 5.18 63.78 20 ...
- Redis核心原理与实践--列表实现原理之ziplist
列表类型可以存储一组按插入顺序排序的字符串,它非常灵活,支持在两端插入.弹出数据,可以充当栈和队列的角色. > LPUSH fruit apple (integer) 1 > RPUSH ...