世纪互联OneDrive绑定OneIndex

发布于 / 信息应用 / 22 条评论

文章方案来源《手动修改Oneindex适配由世纪互联运营的国内版Office 365》感谢滑稽大佬的修改和分享


之前偶然在论坛上发现了OneIndex这个工具(GitHub项目地址),可以将微软OneDrive网盘中文件直链到前端网站,作为图床和视频源简直是天上掉下来的馅饼啊

于是我成功使用OneIndex V3搭建了自己的第一个站点


国际版的OneDrive从国内访问走微软香港节点,上下行速度能够跑满笔者的50Mbps宽带。但是在高峰期的响应速度和上下行的稳定性都不尽如意……于是我想到了国内版的OneDrive……

然而这是一个无底神坑……


首先当然是想到和国际版一样,看到index.php里有两行注释,以为去掉就行了,然而并不是这样……在loc的帖子下滑稽大佬和donwa大佬的对话中可以看到V3就算改了API地址也最终会AADSTS50001错误

报错信息

抱歉,登录时遇到问题。
AADSTS50001: The application named https://graph.microsoft.com was not found in the tenant named 8133f233-07f6-4027-9358-f31f29c38e97. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You might have sent your authentication request to the wrong tenant.

最终在loc找到了滑稽大佬修改版的OneIndex,经过一番周折终于成功绑定……


*由于之前尝试在服务端绑定失败了,这里只记录如何在本地绑定(localhost)


一、配置Azure AD 应用程序

国内版AAD应用程序没有国际版那种一键生成的工具,所以需要手动配置

1.1 Azure控制台

访问https://portal.azure.cn

1.2 注册应用

依次点击【Azure Active Directory】选择【应用注册】,再点击【新应用注册】

创建应用界面参数如图填写,然后点击创建

1.3 授予SharePoint权限

如图,进入程序主页,点击【设置】-【所需权限】

如图中123配置好授权,然后保存。不要忘了保存之后再回到所需权限页面点击一下【授予权限】

1.4 获取应用程序ID和密钥

点击密钥,描述随意填写如【sample】,有效时期一定要选【1年内】,不然会出现无授权的现象。点击保存,【值】选项下会出现一串密钥,即AAD密钥,复制到记事本保存

在应用程序主页,我们可以看到【应用程序ID】,如图点击复制,复制到记事本保存

至此,应用注册已经完成


二、配置本地WAMP环境

笔者使用的程序是WAMP Sever 下载地址

安装时请指定安装目录到一个方便访问的地方。其他本地环境搭建请自行百度,此处不再赘述。


三、配置OneIndex修改版参数

由于V2不支持在网页端填入数据,我们需要手动进行参数填充

3.1 部署文件

首先删除WAMP Sever安装目录wamp下www文件夹中全部文件,将附件【oneindex21vianet.zip】解压到该目录

3.2 修改/config/base.php

php文件修改推荐使用【Notepad++】(下载地址),切记不能使用记事本编辑

如图填入你的应用ID和密钥,redirect_url填写【http://localhost】,点击保存。注意粘贴的时候不要把两边分号删掉,也不要留下空格。

3.2 修改/lib/onedrive.php

首先去世纪互联Office365主页(点击进入),登陆后选择OneDrive

把这个链接蓝色部分复制下来(这个链接不同的账户是不同的),用NPP打开/lib/onedrive.php

转到第30行,将复制的地址【https://(xxx)-my.sharepoint.cn/】填进去,记得末尾【/】不可删去,否则会无法读取文件。注意粘贴的时候不要把两边分号删掉,也不要留下空格。示例如下图。

至此,参数配置已完成


四、绑定账户

确保右下角WAMP Sever图标绿色的状态下,浏览器访问http://localhost

点击绑定账户,根据指示进行登录

完成后会清除浏览器缓存可以看到OneIndex已成功获取并显示文件列表


*在这里你就可以将wamp/www文件夹下所有文件打包上传到你的服务端了


五、问题及其他配置

5.1 Admin后台无法进入

笔者不知道是哪里的问题始终无法进入OneIndex的管理后台,鉴于后台没什么卵用就不作处理了(其实我也没法处理)

5.2 设置Corntab定时刷新

*/10 * * * * php /你的网站目录/one.php cache:refresh

指令如上,配置方式请自行百度,此处不过多讲解(如果使用宝塔等面板在计划任务里添加shell每六小时执行一次【php /你的网站目录/one.php cache:refresh】即可)

5.3 修改网站名称

打开根目录index.php

将如图所示【one】改成你想要的名字即可


*2018.11.07更新

实际上把2.2中创建AAD时的链接http://localhost替换为你的网站域名然后在服务端绑定是完全可以的,这样可以略过第二步搭建本地环境


以上是笔者在搭建的流程,希望对各位和笔者一样的萌新有所帮助

忘了给修改版OneIndex下载链接了 点击下载


*修改版oneindex及修改方案由hostloc【滑稽】大佬提供,在此表示感谢

*原创教程,转载请注明出处(包含本站及hostloc的方案源)

转载原创文章请注明,转载自: Luminous' Home » 世纪互联OneDrive绑定OneIndex
  1. 8589561

    oneindex不能使用最新版3.0的吗

    1. Luminous
      @8589561 实际上不可行,因为V3采用了Microsoft Graph接口认证,世纪互联版在认证授权时会出现Microsoft Graph没有安装在租户程序内的错误
      1. 8589561
        @Luminous 下载链接404了,我下载官方的不行呢,下载的也是2.0的
        1. Luminous
          @8589561 链接已更新qaq抱歉了……https://mirror.luotianyi.vc/code/oneindex21vianet.zip
          1. 8589561
            @Luminous 已经可以了,但是无法实现文件夹下载,多选文件下载。最近再写个chrome的插件实现多选文件下载
          2. Luminous
            @8589561 OneIndex的原理实现不了直接下载文件夹……另外这个版本问题不少,后台进不去……
  2. 8589561

    我已经通过插件的方式实现文件夹多选的下载了,等下整理下我上传下,调用aria2,我试下看oneindex 能不能进后台

    1. Luminous
      @8589561 支持|・ω・`)
  3. 路梦p

    我觉得(个人猜测)后台既然是404,也就是说找不到页面那会不会是改动的时候把路径影响了,不过我没找到链接后台的代码。

    1. Luminous
      @路梦p V2已经确认后台只是半成品,上面那个大佬把V3的后台改下来了
      1. 路梦p
        @Luminous _(:з」∠)_那么哪里可以下载到呢
        1. Luminous
          @路梦p 等大佬魔改完上传到GitHub,不过说实在的后台并没有什么卵用
          1. 路梦p
            @Luminous 我服务器没有ssh,设不了定时清理缓存。有个后台可以手动清理_(:з」∠)_
          2. Luminous
            @路梦p 楼上大佬的魔改版QAQhttps://github.com/lzx8589561/oneindex2-in
  4. H-Mo

    个人账户好像用不了。设置 Read directory data 权限的时候会提示 “正在添加需要管理员同意的权限。管理员授予应用程序权限后用户才能使用该应用程序。”

    1. H-Mo
      @H-Mo 更正,是我眼花了。。。Office 365 SharePoint Online里是可以设置这两个权限的,不过我绑定时又报了个 AADSTS50011 错误,不知道是不是我 【https://(xxx)-my.sharepoint.cn/】填的不对,还是说 redirect_url 必须要填写【http://localhost】 吗?
      1. Luminous
        @H-Mo AzureAD应用程序设置的主页地址和你网站地址不一致,注意1.2和3.2要一致
      2. Luminous
        @H-Mo 就是你的访问域名和AAD程序主页还有redirecturl三个要一致
        1. H-Mo
          @Luminous 谢谢指教。大佬,我的是e1@tn结尾的,也是和你一样的https://vipmail-my.sharepoint.cn。 重新注册一次应用后,现在直接提示绑定失败了。。。 一般会是什么原因? https://i.loli.net/2018/11/11/5be7f9ff3fad6.jpg https://i.loli.net/2018/11/11/5be7fa424bcaf.jpg https://i.loli.net/2018/11/11/5be7fa42c35c6.jpg https://i.loli.net/2018/11/11/5be7fa43b3c28.jpg
          1. Luminous
            @H-Mo 注意下有效期一年。。。还有就是那个1.3要点授予权限
  5. 路梦p

    emmmm目前第一次安装还是出现50011错误…..

    1. Luminous
      @路梦p 50011错误建议检查redirect_url AzureAD和程序里设置的是否完全一致,注意两边都要带http://的,也不能一边https一边http