

我的情况
我有两个 OneDrive 账号,一个是个人版(1 TB 空间),一个是蹭车的 E5 账号(5 TB 空间)。之前我用 E5 账号分享了许多资源,但最近可能是因为下载的人太多被限制了,别人打开我的分享链接不会显示内容,只能看到这样的提示:
前些天有人建议我使用 AList 分享这些资源,但是我折腾了许久没有成功,今天在 Asuna 的帮助下才搞定,分享一下。
OneDrive 分为个人版和商业版。个人版在浏览器里查看时,域名是 onedrive.live.com
,商业版的域名则是 xxxx.sharepoint.com
。
在 Windows 里,个人版的 OneDrive 客户端是白色图标,商业版则是蓝色图标:
什么是 AList
AList 是一个开源项目,安装之后可以建立一个网站,用来挂载各个网盘的资源,这样就能在浏览器里查看这些资源了,也可以下载、上传文件。
AList 的项目主页:https://github.com/AlistGo/alist
文档:https://alistgo.com/zh/guide/
我建立的 AList 站点:https://alist.saber.love/
挂载个人版 OneDrive
登录账号
首先在浏览器里登录你的 Microsoft 账号:
https://account.microsoft.com/
登录后,打开 OneDrive 在线页面:
https://onedrive.live.com/
应该可以看到你的文件。
获取 Refresh Token
接下来打开由 AList 提供的页面:
Get Onedrive Refresh Token
点击“Get Refresh Token”,并选择已登录的 Microsoft 账号,之后就会跳转到新的网址,显示一个 refresh_token:
后面需要用到这个 refresh_token。
添加存储
在 AList 后台点击“存储”-“添加”:
在“驱动”里可以输入关键字进行检索。可以看到与 OneDrive 有关的方式有 3 种:
只能选择第一个 OneDrive
,因为它对个人版有效,而其余两种都只适用于商业版的 SharePoint。
PS:还有个比较通用的挂载方式是 WebDAV
,但是 AList 的 WebDAV 不支持个人版(有些软件支持,比如 WinSCP 就可以通过 WebDAV 的方式挂载个人版,但 AList 不行,可能是因为某些技术原因吧)。
只需要填写这些选项,其他的保持默认即可:
- 挂载路径:AList 本身是个根目录,我们可以给挂载的资源设置一个子目录名。
下面的选项需要从之前打开的页面里复制:
- 客户端ID:client_id
- 客户端密钥:client_secret
- 重定向 Uri:就是 redirect_uri,默认就有值,不需要修改
- 刷新令牌:refresh_token(不过这个令牌也许一段时间后会过期?到时候得重新生成和替换)
填写完成后,点击底部的“保存”按钮即可挂载这个存储:
之后在 AList 的前台页面就会显示这个文件夹了,可以查看和下载里面的文件。
作为管理员,还可以点击前台页面右下角的“更多”按钮来执行新建、上传、删除等操作。这些操作会同步到 OneDrive 里。
挂载子文件夹
“根文件夹路径”默认是 /
,这样会挂载整个 OneDrive 文件夹。如果只需要挂载 OneDrive 里的某个子文件夹,填写子文件夹的路径即可。例如:
挂载商业版 SharePoint
在添加存储时,这三种方法都可以用于挂载 SharePoint:
但是都存在一定的问题,我和 Asuna 折腾了很久,最后用了 WebDAV 的方式。
第 1 种按照教程做也不行,不清楚具体原因。第 2 种很简单,只需要分享某个文件夹,然后把分享链接填在里面,但是无法成功,有可能是因为我的账号被限流了,分享的链接别人打不开,所以不能把链接挂载到 AList 里。第 3 种需要 SharePoint 的管理员批准,但我只是个蹭车的,没有管理员权限。所以这里就只写 WebDAV 的方式了。
添加 WebDAV 存储
在 AList 后台添加一个 WebDAV 存储:
先填写个挂载路径:
然后往下翻,填写其他内容:
供应商选择 “SharePoint”,用户名和密码就是你这个 Microsoft 账号的用户名和密码。
最重要的是“地址”,通过这个网址就可以访问你的 SharePoint 根目录。那这个地址是怎么来的呢?
假设我的用户名是 [email protected]
,再看地址的构成:
https://fake-my.sharepoint.com/personal/saber_fake_onmicrosoft_com/Documents/
- 前面的
fake-my.sharepoint.com
就是我所属的组织(租户)的 SharePoint 主页。 - 后面的
saber_fake_onmicrosoft_com
其实就是我的用户名[email protected]
,只不过是把符号都换成了下划线_
。 - 末尾的
Documents/
表示我的 SharePoint 的根目录。
你用自己的用户名和租户替换掉 saber
和 fake
即可。为了验证,你可以复制你的地址,粘贴到浏览器的地址栏里打开,应该会跳转到你的 SharePoint 主页。
保存之后,在前台页面就可以查看和管理你的 SharePoint 内容了:
挂载子文件夹
上面填写的“地址”是定位到 SharePoint 根目录的,所以在后面填写子文件夹的路径,就可以只挂载这个子文件夹。
比如我的 SharePoint 里有个子文件夹:/[0.推荐]/135Gco-娃娃-人偶-原神-可爱-萌
,那么将其附加到“地址”后面即可:
通过 OneDrive 和 WebDAV 挂载的区别
名字里带“OneDrive”的这三种方式应该都是从微软的服务器下载的:
这样速度比较快,而且下载时不消耗 AList 站点的服务器的流量:
可以看出实际下载时网址是微软的,而且下载速度很快。
WebDAV 则是由 AList 所在的服务器作为中转的,它一边从微软的服务器下载文件,一边把文件发送给用户下载,所以速度会比较慢,而且会消耗流量(除非你在设置里配置一个代理服务器)。不过我现在只能用 WebDAV 挂载 SharePoint,不知道怎么能使用 OneDrive 方式挂载。啊啊啊啊啊
下载时的网址就是我的服务器,而且速度比较慢。
我的服务器在美国,使用 WebDAV 方式下载时,实际下载速度只有 100 - 200 Mbps(10 - 20 MB/S),虽然不算很慢,如果同时下载的人多那就都是龟速了吧。而且我每月的免费流量是 3 TB,但分享的资源里一个作者的几十 GB 很常见,有的更多,比如 135GCO 的有 170 多 GB。下载的人多了流量肯定会超,超出后 1 TB 流量 10 美元还是挺贵的。搞得我不敢分享了。
使用 AList 挂载和分享 OneDrive、SharePoint 的文件
-
Google Chrome 90
Android 12
好像需要api设置什么,这个好像得有管理员允许,没有因该只能联系管理员
1TB流量10美元太贵了,都可以买buyvm的vps了,无限流量,限速的流量阀值很高,即使限速也有100mb的速度
月付2.5刀,当然这个好像只有洛杉矶补货了,一般只能买到3.5刀