OdIndex只是通过调用api实现的onedrive文件列表程序,并不提供任何账号相关的内容。如果有条件,请花钱支持一下微软。
这篇文章还是通过宝塔来部署这个列表程序,宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=
1、简介
项目:https://github.com/SomeBottle/OdIndex
demo:https://od.xbottle.top/
2、准备
- 宝塔面板
- nginx1.19
- php7.4
- 记事本(用于记录ID密码等!)
- 下载rclone备用,{下载地址}
3、获取refresh_token
1)在以下位置创建新的应用程序:Microsoft Azure应用程序注册(OneDrive普通版)或Microsoft Azure.cn应用程序注册(OneDrive世纪互联版本):
使用你的Microsoft帐户登录,然后选择,新注册。
2)受支持的帐户类型选择:任何组织目录(任何 Azure AD 目录 – 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)
3)设置重定向 URI为Web
,地址:http://localhost
。
4)以上都完成后,点击注册即可。提交后,在概述里面可以看到(
5)还在这个页面,选择证书和密码,点击新建客户端证书,说明填写为client_secret,这里改版过了,不好选择never,但是可以自己设置失效期,你可以选择长一点。
6)提交后,会得到你的client_secret,复制保存在你的记事本上。
7)还在这个页面,选择API权限,选择Microsoft Graph
,选择委托的权限,搜索offline_access, Files.Read, Files.Read.All
,选择全部三个,然后单击添加权限。
8)下载上面说的rclone,准备获取你的refresh_token,在rclone.exe同目录中,按Shift+鼠标右键,选择在【此处打开cmd窗口】或【在此处打开power shell窗口】,然后在弹出窗口后执行命令!
./rclone authorize "onedrive" "应用程序(客户端)ID" "应用程序密码"
注意:ID和密码,就是你刚刚保存在记事本的。
9)执行命令后弹出网页登陆E5管理账号,然后接受授权即可!授权成功,如图:
10)授权成功后,窗口弹出得到的Token信息!仅复制 【Paste the following into your remote machine —>】开头【<—End paste】结尾的中间部分内容!
11)格式化token
利用搜索引擎找一个【JSON在线格式】的网站,将复制的内容格式化一下。也可以在谷歌应用商店安装JSON-handle 【下载地址】,格式化后复制refresh_token值内容!不要双引号!保留token,后面会用到。
4、部署
1)宝塔新建站点略过,之后,删除网站根目录的所有文件。【下载】OdIndex,上传到你的网站根目录解压程序,复制所有文件到你的网站根目录。(注意,利用宝塔的远程下载,也是一样好用。)
2)配置index.php,具体配置如下:
文章加密,密码获取,可加tg获取。
博客订阅:https://t.me/rssbig
tg群:https://t.me/joinchat/SKct5jFnL_PUvCFr
进入tg群后,输入:宝塔搭建OdIndex,会自动跳出密码。
3)设置伪静态,代码如下。
if (!-f $request_filename){ set $rule_0 1$rule_0; } if (!-d $request_filename){ set $rule_0 2$rule_0; } if ($rule_0 = "21"){ rewrite ^/(.*)$ /?/$1 last; }
不会设置看图:
4)保存后,打开你的网站即可看到效果。
5)如果是世纪互联,修改index.php头部的编辑头部config中api_url和oauth_url内容为:
"api_url"=> "https://microsoftgraph.chinacloudapi.cn/v1.0", "oauth_url"=>"https://login.partner.microsoftonline.cn/common/oauth2/v2.0",
5、最后
搭建略微繁琐,主要是refresh_token的获取麻烦了点,不过可以调用api,可以实现Microsoft 365 E5玄学订阅,还是值得搞一搞的。