rclone在openwrt挂载onedrive的E5开发者API实现网盘SMB本地化及续期

一:前方

之前淘宝购买的office 365账号,能激活桌面版office 2019增强版,但是购买的账号,过了评价期后,就不能登录了,提示账号密码错误,我Fuck卖家的无德呀!另外,细想,用别人账号始终都不是安全的策略,现在微软推出开发者E5账号,免费使用90天的订阅,如果期间有使用到开发者API做读写,那会视为有开发行为,为自动给续期,就利用这点,我要成为开发者(其实是冲着能使用正版office365桌面版)去。

二:注册E5开发者

这里网上有太多的教程了,就不再 赘述了

三:微软

先在软件上注册应用,并获取到

应用ID:clientID:

应用secret:secretID值

token:这个在操作电脑上弄,下面讲到

#### 设置 API 权限

  • 点击API 权限,按照图示进行操作,添加Files.ReadFiles.ReadWriteFiles.Read.AllFiles.ReadWrite.Alloffline_accessUser.Read这些权限。
image-20211008144738846

四:OpenWrt 上操作

先在OP上启用Rclone服务

image-20211008145554035

之前写* openwet使用Rclone同步阿里云网盘并开机自动挂载有介绍过

五:操作——电脑上windows10——PuTTY——OpenWrt

先打开PuTTY,登录上OpenWrt路由器

rclone config配置

  1. 输入n 新建rclone同步盘
  2. 输入名称,我输入onedriveE5
  3. 选择类型,我选择23,23 / Microsoft OneDrive
    \ “onedrive”(这里要自己留意,rclone版本不一样,编号会不一样)
  4. OAuth Client Id=》填上对应的ClientID
  5. OAuth Client Secret=>填上对应的Clinet Secert
  6. Edit advanced config? (y/n)=》n
  7. 重点说说这步,默认是Yes的,但是我们Openwrt没有GUI和流量器,无法完成打开浏览授权,所以这里要选择n

Remote config
Make sure your Redirect URL is set to “http://localhost:53682/” in your custom config.
Use auto config?

  • Say Y if not sure
  • Say N if you are working on a remote or headless machine
    y) Yes (default)
    n) No

8.result> 封上下面步骤的token码:{所有内容}

9.Your choice> 1

image-20211008144621682

最后提示确认,完成后显示所有配置信息

六:操作——电脑上windows10——Rclone

下载win版本的Rclone,这一步是为了使用clientID和client secertID连接服务,生成五:8.所需要的token码

1.在下载解决的目录地址栏目输入CMD,就能打开所在路径的SHELL文件了

img

2.输入

rclone authorize "onedrive" "clientID" "secertID"

3.这一步是为了在没有GUI流量器的OpenWrt情况下获取到token值

七:挂载

前文已经写过如何挂载了,这里就不再重复,看看效果

image-20211008123042161

已成功挂载上

image-20211008145334515

加上自启动脚本,重启后也能自动挂载上

八:共享目录

image-20211008145525346

这里添加个共享,为了方便映射成网络磁盘

九:SMB网络磁盘

image-20211008145206367

映射了一个onedrive和一个aliyun的网络磁盘

image-20211008145246352

还能直接在多平台同步编辑文件

十:总结

现在过程主要是三样东西,ClientID,Secert,Token

前两样在微软获得,Token要在支持跳转的浏览器环境在授权获取,现在唯一不确定的

现在已知道 的是API 授权有效期是24个月,但不清楚Token和有效期是多久,如果时间较短,那整个折腾意义就不大了!希望Token能长久有效吧,这样就能完美了,即满足了网盘需求,又满足了office 365套件!