正式开始
你可以根据前文免费拿E3,得到至高免费5T的OneDrive存储空间,也可以用你个人永久免费的5G空间,都可以!
前往 高级 - OneDrive Vercel Index 拿到 clientid 和 secret
前往该页面,点击快速部署 onedrive-index/README.zh-CN.md at main · iRedScarf/onedrive-index
其中,USER_PRINCIPAL_NAME为类似 huding@Smartree233.onmicrosoft.com 的电子邮箱,也就是你登陆OneDrive的用户名
Vercel部署完毕后,会报错连不上Redis,因为我们还没创建和绑定,现在我们开始做
前往 https://vercel.com/integrations/upstash 点击 Install
来到Vercel的环境变量页面,这就是绑定成功了
随便打开一个部署,点击 Redeploy 重新部署,就能成功连接数据库了
接下来访问你的项目域名,进入OneDrive-Index的引导,需要打开微软的一个链接授权
授权后会重定向到一个localhost的域名,复制该URI,粘贴回OneDrive-Index即可(仅需一次)
成功部署!
这里有些高级设置,你可能需要了解一下。
使用你自己的 client id 与 secret
如果你的账户没有管理权限,那么你就无法使用项目提供的 clientId 与 clientSecret。这个情况下,你就要生成你自己的 client id 与 secret 了。
注册一个应用程序
打开以下链接:
- Microsoft Azure App registrations( OneDrive 国际版、企业版与教育版,E5 订阅专用)
- Microsoft Azure.cn App registrations(OneDrive 世纪互联专用)
创建一个应用程序:
登入你的微软账户,点击 New registration。
输入一个名字,例如 my-onedrive-vercel-index。
将 Supported account types 设置为:
Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)OneDrive 世纪互联用户设置为 - 任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户。
将 Redirect URI (optional) 设置为
Web(在下拉菜单里)以及http://localhost。点击注册。
获取你的 client id 与 secret
你的应用 (client) ID 就是 api.config.js 里的 clientId ,它应该出现在 Overview > Essentials。
你的 client secret 需要手动获取
- 点击 Certificates & secrets。
- 点击 New client secret。
- 创建一个新 secret ,描述为
client_secret。 - 将 Expires 设置为
Custom。 - 将 Start 与 End 设置为能设置的最长时间。
最后,点击 Add ,然后复制 client_secret 的值并妥善保管。(只有一次复制机会)
修改 API 权限
Microsoft Graph API 可以设置 API 范围,我们只需要以下三个( api.config.js 里要求的):
user.read files.read.all offline_access
点击 API permissions,再点击 Microsoft Graph,再点击 Delegated permissions,然后搜索:
- User.Read(这应该一开始就勾上了)
- Files.Read.All
- offline_access
选择全部三个并点击 Add permissions。
clientId 与 clientSecret 了。修改 api.config.js
你可以直接将 clientId 修改为你自己的 clientId。
但是,client secret 需要保密,你需要在下面进行 AES 加密:
填写 client secret 后,你应该得到一个长得像这样的字符串:
U2FsdGVkX1830zo3/pFDqaBCVBb37iLw3WnBDWGF9GIB2f4apzv0roemp8Y+iIxI3Ih5ecyukqELQEGzZlYiWg==
将它替换到 obfuscatedClientSecret 里。
如果你修改了 redirectUri 为其他值,你也要在 api.config.js 里设置好。
详情请参考 关于使用自己的 secret 进行 AES 加密方式的小白解决办法。(重要必须加密才能成功)、
可能很多像我一样的小白想使用自己的secret,但又不知道如何加密。我折腾了很久才摸索出来,使用这个在线加密工具 https://www.dute.org/aes ,原始文本填入自己的secret,秘钥填入onedrive-vercel-index,加/解密模式选择CBC (Cipher Block Chaining, Default),点击AES 加密就可以了。我也是这样将作者内置的secret反向解密出来的,加密方式试了一遍又一遍~




0 评论