前提
- 你需要一个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 |