摘要
详细的介绍了如何使用alistflutter在安卓手机上挂载中国移动云盘,网上的信息对新手来说都语焉不详。然后首次解决了“用户不存在”的错误。
需求与问题
obs同步需要,想在手机上用alist挂载中国移动云盘。
解决方案
环境前提:
手机上中国移动云盘客户端都已安装登录,正常使用,中国移动的手机号,安卓手机(荣耀magicvs) ,别的没有实验过。
1 用 Reqable 抓包获取云盘令牌和目录ID
受这个启发, (*2024.11.3 )干货满满:Alist下运营商网盘全方位大PK,以及解决移动云盘挂载Alist经常失效的问题。_哔哩哔哩_bilibili
可以采用pc机和手机配合的方式获取手机上中国移动云盘客户端的token,目录ID等,也可以直接获取pc机上的云盘客户端的这些信息。
step1-1
Reqable就是原来的httpcanary,下载地址: 客户端下载 | Reqable · API抓包调试 + API测试一站式工具 下载并安装; 按照其提示 用手动方式安装好证书之类的就可以了。
step1-2
假设移动云盘设置好了开机自启动,关闭pc机的网络,关机并开机,启动reqable并启动抓包,打开网络。这时会捕捉到mcloud.exe, mcloudsyncdisk等应用的网络通信消息。然后就可以停止抓包了。
step1-3
选择 post https://ose.caiyun.feixin.10086/richlifeApp/devapp/ICatalog 这个消息来提取信息
请求头/Authorization ,basic后面这一串就是后面alist里需要的token,copy出来发送到手机上。
Basic cGM-xxxxx-sRVEt
响应体 里面能看到如下信息,就是云盘里文件夹目录结构,比如我想后面alist挂载根目录在我的文件夹,把同步盘目录的parentCatalogId 即140dKVFN181700019700101000000001 copy发送到手机,后面根目录id可以填写这个,你想挂载的根目录是其他的,你就从中挑选其他的id。比如你可以提取在云盘客户端软件里建立一个目录,然后选这个目录对应的id。
<catalogInfo>
<catalogName>同步盘</catalogName>
<catalogID>140dKVFN18xxx1000000101</catalogID>
<catalogType>7</catalogType>
<isShared>false</isShared>
<createTime>20250207155507</createTime>
<updateTime>20250213192236</updateTime>
<catalogLevel>2</catalogLevel>
<shareDoneeCount>0</shareDoneeCount>
<ETagOprType>1</ETagOprType>
<openType>0</openType>
<dirEtag>4194304</dirEtag>
<tombstoned>0</tombstoned>
<moved>0</moved>
<parentCatalogId>140dKV xxx 00000001</parentCatalogId>
2 用alistflutter 挂载移动云盘
step 2-1
pc机上下载这个软件,让后可以传到手机安装,下载地址见 https://github/AlistGo/alist/releases。
step 2-2
设置 手机后台保活,熄屏不断网,开机自启动等。
还有配置alist - 设置 - 站点 - robots.txt - disallow等,提高安全特性。
具体配置过程可以参见,但要注意不同的手机配置位置可能略有不同。
(*2024.10.23)AListFlutter(手机alist)——一键安装,可在手机/电视上运行并挂载各个网盘-CSDN博客
(*2024.10.13)使用废旧安卓手机搭建和更新Alist,解决后台保活,以及Alist优化设置_哔哩哔哩_bilibili 使用alistflutter (这个链接讲解非常详细)
step 2-3 中国移动云盘在alist中的挂载
先看这个:(*2023.9.11)中国移动云盘 | AList文档
然后按照这个操作,界面配置过程最为清晰:(*2024-12-12)用alist在飞牛OS上挂载中国移动云盘 - 知乎 【教程】用Alist挂载中国移动云盘_哔哩哔哩_bilibili
需要注意的是,挂载后出现下面这个图并不表示挂载成功:
3 问题折腾与解决
移动云盘有一个关键问题是,配置挂载类型,是选择 个人云盘,还是新的个人盘。
其实很多链接都有讲,比如这个(*2204.10.20 )【教程】用Alist挂载中国移动云盘_哔哩哔哩_bilibili 。
就是看抓包消息的请求体是否有getDisk字样,如果有就是个人云盘,否则不是。
但我一开始没有注意到,直接选了 新的个人盘。在alist -管理 -主页打开挂载目录时,总是出现下面的错误消息:
failed get objs: failed to list objs: 用户不存在
网上也有出现这个错误的,但没有解决,比如 移动云盘挂载疑惑【alist吧】_百度贴吧
其实根本原因就是:老的个人云盘,但挂载时却选择了新个人云。
直到我在链接(*2024.7.11) Alist 网盘 ‘中国移动云盘’无法更新数据 解决办法 |更新文件夹目录 ID - 路灯IT技术博客 - 后厂村路灯
看到下面这段话才明白了出现这个错误的原因:
类型
个人云:选择个人云
家庭云:选择家庭云
新个人云:新版API
新注册的账号才有,可以通过在请求搜索 getDisk 来区分,如果能搜到就是旧版的,不能搜到就是新版的
如果是新API无法使用 个人云类型,虽然没有错误信息,但是文件不会被加载
==有getDisk请求的无法使用新个人云类型,否则会提示用户不存在==
把挂载类型设置正确后,alist -管理-主页里就可以打开挂载的云盘,并看到里面的内容了。
还可以在手机上安装一个xplore 挂载云盘,看看里面的内容。
进一步工作
下一步就是obsidian安装 remotely save插件,连接webdav目录: http://127.0.0.1:5244/dav/ 下面还可以指定目录 , 这个网上有很多参考,这里就不赘述了。
感谢
感谢使用到的这些开源软件的作者,alist,alistflutter,Reqable等,还有各种分享如何使用这些软件的作者们,正是大家的分享帮助我顺利解决了问题,我也愿意以此文为这种分享精神而贡献自己的力量。
摘要
详细的介绍了如何使用alistflutter在安卓手机上挂载中国移动云盘,网上的信息对新手来说都语焉不详。然后首次解决了“用户不存在”的错误。
需求与问题
obs同步需要,想在手机上用alist挂载中国移动云盘。
解决方案
环境前提:
手机上中国移动云盘客户端都已安装登录,正常使用,中国移动的手机号,安卓手机(荣耀magicvs) ,别的没有实验过。
1 用 Reqable 抓包获取云盘令牌和目录ID
受这个启发, (*2024.11.3 )干货满满:Alist下运营商网盘全方位大PK,以及解决移动云盘挂载Alist经常失效的问题。_哔哩哔哩_bilibili
可以采用pc机和手机配合的方式获取手机上中国移动云盘客户端的token,目录ID等,也可以直接获取pc机上的云盘客户端的这些信息。
step1-1
Reqable就是原来的httpcanary,下载地址: 客户端下载 | Reqable · API抓包调试 + API测试一站式工具 下载并安装; 按照其提示 用手动方式安装好证书之类的就可以了。
step1-2
假设移动云盘设置好了开机自启动,关闭pc机的网络,关机并开机,启动reqable并启动抓包,打开网络。这时会捕捉到mcloud.exe, mcloudsyncdisk等应用的网络通信消息。然后就可以停止抓包了。
step1-3
选择 post https://ose.caiyun.feixin.10086/richlifeApp/devapp/ICatalog 这个消息来提取信息
请求头/Authorization ,basic后面这一串就是后面alist里需要的token,copy出来发送到手机上。
Basic cGM-xxxxx-sRVEt
响应体 里面能看到如下信息,就是云盘里文件夹目录结构,比如我想后面alist挂载根目录在我的文件夹,把同步盘目录的parentCatalogId 即140dKVFN181700019700101000000001 copy发送到手机,后面根目录id可以填写这个,你想挂载的根目录是其他的,你就从中挑选其他的id。比如你可以提取在云盘客户端软件里建立一个目录,然后选这个目录对应的id。
<catalogInfo>
<catalogName>同步盘</catalogName>
<catalogID>140dKVFN18xxx1000000101</catalogID>
<catalogType>7</catalogType>
<isShared>false</isShared>
<createTime>20250207155507</createTime>
<updateTime>20250213192236</updateTime>
<catalogLevel>2</catalogLevel>
<shareDoneeCount>0</shareDoneeCount>
<ETagOprType>1</ETagOprType>
<openType>0</openType>
<dirEtag>4194304</dirEtag>
<tombstoned>0</tombstoned>
<moved>0</moved>
<parentCatalogId>140dKV xxx 00000001</parentCatalogId>
2 用alistflutter 挂载移动云盘
step 2-1
pc机上下载这个软件,让后可以传到手机安装,下载地址见 https://github/AlistGo/alist/releases。
step 2-2
设置 手机后台保活,熄屏不断网,开机自启动等。
还有配置alist - 设置 - 站点 - robots.txt - disallow等,提高安全特性。
具体配置过程可以参见,但要注意不同的手机配置位置可能略有不同。
(*2024.10.23)AListFlutter(手机alist)——一键安装,可在手机/电视上运行并挂载各个网盘-CSDN博客
(*2024.10.13)使用废旧安卓手机搭建和更新Alist,解决后台保活,以及Alist优化设置_哔哩哔哩_bilibili 使用alistflutter (这个链接讲解非常详细)
step 2-3 中国移动云盘在alist中的挂载
先看这个:(*2023.9.11)中国移动云盘 | AList文档
然后按照这个操作,界面配置过程最为清晰:(*2024-12-12)用alist在飞牛OS上挂载中国移动云盘 - 知乎 【教程】用Alist挂载中国移动云盘_哔哩哔哩_bilibili
需要注意的是,挂载后出现下面这个图并不表示挂载成功:
3 问题折腾与解决
移动云盘有一个关键问题是,配置挂载类型,是选择 个人云盘,还是新的个人盘。
其实很多链接都有讲,比如这个(*2204.10.20 )【教程】用Alist挂载中国移动云盘_哔哩哔哩_bilibili 。
就是看抓包消息的请求体是否有getDisk字样,如果有就是个人云盘,否则不是。
但我一开始没有注意到,直接选了 新的个人盘。在alist -管理 -主页打开挂载目录时,总是出现下面的错误消息:
failed get objs: failed to list objs: 用户不存在
网上也有出现这个错误的,但没有解决,比如 移动云盘挂载疑惑【alist吧】_百度贴吧
其实根本原因就是:老的个人云盘,但挂载时却选择了新个人云。
直到我在链接(*2024.7.11) Alist 网盘 ‘中国移动云盘’无法更新数据 解决办法 |更新文件夹目录 ID - 路灯IT技术博客 - 后厂村路灯
看到下面这段话才明白了出现这个错误的原因:
类型
个人云:选择个人云
家庭云:选择家庭云
新个人云:新版API
新注册的账号才有,可以通过在请求搜索 getDisk 来区分,如果能搜到就是旧版的,不能搜到就是新版的
如果是新API无法使用 个人云类型,虽然没有错误信息,但是文件不会被加载
==有getDisk请求的无法使用新个人云类型,否则会提示用户不存在==
把挂载类型设置正确后,alist -管理-主页里就可以打开挂载的云盘,并看到里面的内容了。
还可以在手机上安装一个xplore 挂载云盘,看看里面的内容。
进一步工作
下一步就是obsidian安装 remotely save插件,连接webdav目录: http://127.0.0.1:5244/dav/ 下面还可以指定目录 , 这个网上有很多参考,这里就不赘述了。
感谢
感谢使用到的这些开源软件的作者,alist,alistflutter,Reqable等,还有各种分享如何使用这些软件的作者们,正是大家的分享帮助我顺利解决了问题,我也愿意以此文为这种分享精神而贡献自己的力量。