由于rclone等工具自带的onedrive授权方式经常出现 token过期的问题(时间长的可以撑一天,短的就几个小时),网上的教程基本都是旧的方案,无奈只能自己摸索。
本方案提供Azure新版页面注册OneDrive应用的方法,可搭配Rclone、Oneindex等工具使用
本文将以rclone绑定个人版OneDrive为示例,在无GUI图形化界面的服务器上进行绑定账号的操作。
请准备好:
1、Linux环境(服务器 / NAS)
2、rclone windows环境(下载rclone win版本,解压到文件夹)
3、微软账号一个(废话~)
1、登录Azure
打开https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade,登录微软账号
2、点击【新注册】
1、名字随意
2、受支持的账户类型:默认仅允许Office 365 Business(学校或商业账户登录),如果是Office 365个人版(Personal)的话必须选第三个【任何组织xxx】,否则之后授权会失败
3、重定向URI,填写【http://localhost】,否则授权会一直提示uri错误
3、创建成功,记下Client ID(客户端ID)
4、创建密钥
点击【证书和密码】,按照图中序号的顺序操作,说明随意写
注意:生成密钥后,要把密码保存下来,后边要配合client id使用
5、api授权
1、点击【API权限】,默认的权限是不够的,点击【添加权限】,选择【Microsoft Graph】
2、选择第二个【应用程序权限】,这样以后就可以免登录了,也不会出现onedrive token过期的情况
3、添加以下三个权限:Files.ReadWrite、Files.Read.All、Files.ReadWrite.All
4、添加完成后,会提示待授权,点击下方按钮授权即可
6、绑定rclone
1、安装rclone:略
2、在服务器上输入rclone config,n创建新配置,配置名称随意,建议从简,否则后边输命令的时候你会后悔~
3、输入19,即【Microsoft OneDrive】
4、输入之前记下的client id 和密钥,然后会问你【是否编辑高级设置】、【是否使用自动设置】,全部选n即可
5、最后会给出一条命令,需要在你自己的电脑cmd中,执行此命令,然后把结果粘贴过来
7、电脑端操作
1、cmd进入rclone的目录,执行该命令,此时应自动弹出浏览器窗口访问【http://127.0.0.1:53682/auth】
2、随后会自动跳转到微软账号授权页面,授权即可,成功后将会提示success
3、回到cmd,会返回一串token,把红框中的内容复制到linux的rclone中,见下图
8、最后的配置
然后会问你添加的账号是什么类型,自己选择即可,全部配完之后,输入y确认
9、测试
输入rclone lsd 你设置的配置名称: #注意最后有一个冒号
例如:rclone lsd od:
若成功,应返回你的OneDrive目录
实测两天后token也没有过期,应该是成功的了。
参考链接