Onedrive无API实现目录挂载

Onedrive说明

目前国内很多的edu邮箱都可以申请office365教育版,不过由于国内很多教育机构并没有购买相关服务,导致了onedrive一般没有管理,没法调用API,当然了这样可能数据更加安全,服务更加稳定。有的很多地方,管理员禁止了API,这样很难玩。曾经我有个思路,就是可以直接调用共享文件夹内的数据,某些js等看看可不可以实现list效果,或者是批量共享取得链接,之后本地生成。不过现在都不用了,现在已经有大佬研究出了方法。本文就可以实现,无全局的野onedrive绑定。
注意,此项目存在一定的不完美,因为允许编辑的权限,会导致URL使用上存在一定的安全隐患,例如随意上传违法内容。如果有新的解决方案,我会一并更新。

搭建前提

项目地址:https://github.com/ukuq/onepoint
项目分支(本文使用):https://github.com/qkqpttgf/OneManager-php/tree/sharelink
Onedrive帐号一枚:虽然不需要API权限,但是必须有分享Url外部权限
搭建空间:可以为腾讯SCF、heroku、php空间或者VPS中

项目简介

onepoint 一个轻量级、适应多种平台、适应多种网盘的在线文件目录及文件管理工具。

搭建方法

使用用方法:
1,使用onemange配置
登录onedrive,对某个文件夹点共享,注意,这里要选择 拥有链接的任何人,允许编辑 ,确认后,复制链接备用;
首先打开网站登录,点击文件夹共享

《Onedrive无API实现目录挂载》
这里一定要选择拥有链接的人

《Onedrive无API实现目录挂载》
这里注意,一定要选择允许编辑

《Onedrive无API实现目录挂载》
复制所得的共享链接
《Onedrive无API实现目录挂载》
《Onedrive无API实现目录挂载》
安装OneManager程序,可以装在腾讯SCF上,也可以一键装到heroku上,也能装在普通php中。

装好后,左上角登录,进入设置,点添加网盘;
标签最少2位,字母与数字,
选shareurl,将刚刚的共享链接填入,提交;
可以访问了。
这时首页就一个文件夹,最好还是去设置中public_path设置为这个文件夹,这样就直接访问里面了。

已经使用  毛XXX大学 帐号测试成功,他家的A1P隔了3个季度又可以拿出来玩了。
已知问题:
通过这个链接,可以上传、下载,新建文件(夹),加密(其实就是写个文件),复制;
不能重命名、不能移动、不能删除。
所以间接的,我的程序上传时为了断点续传创建的临时文件删不掉,游客上传无法进行最后一步重命名为md5。
2, 另外一种方式:安装onepoint,可以部署到heroku、或者是普通VPS中
部署onepoint

#快速部署
npm install -g onepoint
onepoint
#配置修改,个人建议,先使用默认的配置安装一遍,如果没有问题,修改 config.json 后再次安装
https://ukuq.github.io/onepoint/config.html
#以下链接由 github action 自动部署,演示链接
https://service-0nvsu1bi-1255607810.ap-hongkong.apigateway.myqcloud.com/release/onepoint
https://onepoint.ukuq.now.sh

打开上述配置网址选择,填入相关信息即可
《Onedrive无API实现目录挂载》

发表回复