当前位置:首页 > 教程

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

2021-08-10教程

OdIndex只是通过调用api实现的onedrive文件列表程序,并不提供任何账号相关的内容。如果有条件,请花钱支持一下微软。


1、简介

项目:https://github.com/SomeBottle/OdIndex

demo:https://od.xbottle.top/

2、准备

3、获取refresh_token

1)在以下位置创建新的应用程序:Microsoft Azure应用程序注册(OneDrive普通版)或Microsoft Azure.cn应用程序注册(OneDrive世纪互联版本):

使用你的Microsoft帐户登录,然后选择,新注册。

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

2)受支持的帐户类型选择:任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)

3)设置重定向 URI为Web,地址:http://localhost

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

4)以上都完成后,点击注册即可。提交后,在概述里面可以看到(

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

5)还在这个页面,选择证书和密码,点击新建客户端证书,说明填写为client_secret,这里改版过了,不好选择never,但是可以自己设置失效期,你可以选择长一点。

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

6)提交后,会得到你的client_secret,复制保存在你的记事本上。

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

7)还在这个页面,选择API权限,选择Microsoft Graph,选择委托的权限,搜索offline_access, Files.Read, Files.Read.All选择全部三个,然后单击添加权限。

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

8)下载上面说的rclone,准备获取你的refresh_token,在rclone.exe同目录中,按Shift+鼠标右键,选择在【此处打开cmd窗口】或【在此处打开power shell窗口】,然后在弹出窗口后执行命令!

./rclone authorize "onedrive" "应用程序(客户端)ID" "应用程序密码"

注意:ID和密码,就是你刚刚保存在记事本的。

9)执行命令后弹出网页登陆E5管理账号,然后接受授权即可!授权成功,如图:

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

10)授权成功后,窗口弹出得到的Token信息!仅复制 【Paste the following into your remote machine —>】开头【<—End paste】结尾的中间部分内容!

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

11)格式化token

利用搜索引擎找一个【JSON在线格式】的网站,将复制的内容格式化一下。也可以在谷歌应用商店安装JSON-handle 【下载地址】,格式化后复制refresh_token值内容!不要双引号!保留token,后面会用到。

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

4、部署

1)宝塔新建站点略过,之后,删除网站根目录的所有文件。【下载】OdIndex,上传到你的网站根目录解压程序,复制所有文件到你的网站根目录。(注意,利用宝塔的远程下载,也是一样好用。)

2)配置index.php,具体配置如下:



$config = array(
	"refresh_token" => "",
	"client_id" => "",
	"client_secret" => "",
	"api_url" => "https://graph.microsoft.com/v1.0",
	"oauth_url" => "https://login.microsoftonline.com/common/oauth2/v2.0",
	"redirect_uri" => "http://localhost",
	'base' => '/',
	'datapath' => 'data',
	'rewrite' => false,

把你复制保存好的refresh_token,client_id,client_secret,都填到这里来把。看图:

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

注意,默认访问会带?,设置伪静态后,你需要把rewrite修改为true保存即可。


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;
}

不会设置看图:

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

4)保存后,打开你的网站即可看到效果。

宝塔面板搭建OdIndex(可实现E5玄学订阅):PHP版的OneDrive目录列表程序

5)如果是世纪互联,修改index.php头部的编辑头部config中api_urloauth_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玄学订阅,还是值得搞一搞的。


免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

侵删请致信E-mail:fubuki@soxlola.edu.kg

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。