高级
这里有些高级设置,你可能需要了解一下。
使用你自己的 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
里设置好。
自定义域名
详情请参考 Custom Domains - Vercel。