使用Oneindex挂载SharePoint 25T空间,妈妈再也不用担心我的空间不足
最近看到有人提起SharePoint网站可以设置默认25T空间容量。博主尝试了一下成功设置,并成功使用Oneindex挂载了SharePoint空间,可以方便查看、分享文件了。本来想修改一下Oneindex程序让设置一步到位,奈何渣渣博主什么都不会改不成功,这里分享手动修改过程,集成设置等大神去做吧。
先看看效果:od.xkx.me 和 odrive.azurewebsites.net
一、SharePoint管理员修改默认空间上限。
大家知道onedrive可以设置5T的容量,想升到25T需要管理员发工单给微软客服申请,批准后再由管理员用MSO工具升级,这过程相当繁琐。而SharePoint可以直接由管理员设置最高空间25T,新建网站设置空间上限就是25T,网站的文档管理就是和Onedrive一样的,这样可以轻松利用SharePoint的大容量服务。
提示:SharePoint总容量具体和你许可证的数量有关,总容量=1T+SharePoint许可*10G,25用户的MS E5全局虽然可以分配25T,但是整个组织的总容量可能只有几T。容量分配的说明可看官方文档(链接)。(据说可以不用管总容量,可以超)
设置方法:进入office365管理中心,点左边的SharePoint(域名为xxx-admin.sharepoint.com | xxx同Onedirve),然后再点击进入新版,点击设置-站点存储限制-手动设置。(默认自动设置即可,新建网站后显示是1T,大概过一天能自动升25T)
然后随便新建一个站点后,点击站点名称就可以修改存储上限了,默认25T。
PS:新建的SharePoint网站设置为私用,好像管理员也不能进去查看,OneDrive里管理员是可以查看任何账号内容的。
二、搭建OneIndex程序。
自从Oneindex这款程序发布以来,出现了很多很类型的程序,各有特点。对比之后还是觉得最合适我的是Oneindex。博主之前就修改过Oneindex,添加了CDN/反代 Onedrive地址,Aplayer播放器列表音乐文件,图片悬浮显示,PDF文件预览等等功能。详细可以去Github给项目点个小星星。(https://github.com/jialezi/oneindex-j)
简单来说,OneDrive和SharePoint的api区别如下:
国际版 OneDrive驱动器:https://graph.microsoft.com/v1.0/me/drive SharePoint驱动器:https://microsoftgraph.chinacloudapi.cn/v1.0/sites/{site-id}/drive -------------- 世纪互联 OneDrive驱动器:https://microsoftgraph.chinacloudapi.cn/v1.0/me/drive SharePoint驱动器:https://microsoftgraph.chinacloudapi.cn/v1.0/sites/{site-id}/drive
通过查阅微软的文档,SharePoint的API和OneDrive的主要是用到的id不一样,使用方法是通用的。site有一个唯一 ID 标识,此唯一 ID 由2个值组成:网站集主机名称 (contoso.sharepoint.com)、网站集的唯一 ID (GUID)和网站的唯一 ID (GUID)。本次手动修改主要难点就在于获取SharePoint的site-id,在开发者网站上找到国际版可以通过网页端上的graph-explorer获取site-id。而世纪互联版的,博主没找到方便的方法,博主先是通过rclone绑定SharePoint网站时显示的site-id获取的。后来通过文档知道api获取site-id是通过get获得(/sites/hostname:/sites/site),必要参数是请求头带access token,技术没到家搞不出来,最后勉强写了只个php页,需要安装先oneindex再获取site-id, 借助zfile的获取access token工具,可以直接获取到site-id,之后再手动修改api,成功挂载SharePoint。
主要步骤:(先正常安装oneindex-j → 获取{site-id} → 后台设置修改API链接)
1)下载Oneindex代码上传到PHP空间。
下载地址:https://github.com/jialezi/oneindex-j (这个是我修改过的。原版作者已删库,这里一份备份了最后一版Github)
2)安装
国际版正常打开网站按步骤安装即可。
世纪互联版,把index.php开头的第6和7行的斜杠删除即可。 安装页面可直接选择版本(20.5.14修改)
具体申请API之类的过程省略,安装成功后接着第二步。
3)获取SharePoint网站的site-id
(更新F12获取方法,简单快捷)
方法一:可使用博主的直接获取site-id,https://od.xkx.me/sp.php (2020.09修改)
方法二:安装好博主的修改版onedrive,打开根目录的sp.php,按要求填进去即可,网页会获取配置中的access token,获取完site-id后,请把sp.php删除,避免不必要的麻烦。
如果site-id空白请重试,或打开首页检测程序是不是安装成功正常能获取文件。
方法三:
国际版利用graph-explorer查询site-id(好像只能国际版)
打开:https://developer.microsoft.com/zh-cn/graph/graph-explore
先登录,然后示例查询——随便查一个——之后输入框按以下格式填入查询——返回id
例如你的网站网址是https://jia666.sharepoint.com/sites/52
查询API为 https://graph.microsoft.com/v1.0/sites/jia666.sharepoint.com:/sites/52 (注意冒号)
补充:世纪互联版graph-explorer:https://developer.microsoft.com/zh-cn/graph/graph-explorer-china#(博主没能成功获取)
方法四:利用Rclone查询site-id(世纪互联可以选择魔改版rclone:https://github.com/jonntd/gclone/)
配置到下面这一步时,选择5,搜索你的站点名字即可获取site-id
方法五:F12获取
进去SharePoint,打开F12过滤填写 _api/v2.1,然后点击进去网站,右上角设置里面选择站点使用情况。
出来的请求应该每个都带有site-id,格式为逗号分隔三段:xxxx.sharepoint.com,5733e1xxxx01ec7,4f5xxxxxxfc542a
4)修改接口API (2020.09修改)
登录到后台,API里面的me换成你的sites/{site-id }
例如:原来接口“https://microsoftgraph.chinacloudapi.cn/v1.0/me”,
site-id为“officecommunity.sharepoint.cn,5733e1xxxx01ec7,4f5xxxxxxfc542a”,
修改后为“https://microsoftgraph.chinacloudapi.cn/v1.0/sites/officecommunity.sharepoint.cn,5733e1xxxx01ec7,4f5xxxxxxfc542a”。
之后执行一次清除全部缓存,这时相信你的SharePoint已经成功挂载了,25T妈妈再也不用担心我的空间不足了。
打开文件编辑器里打开 lib/onedrive.php,第75行,把me换成你的sites/site-id 。(ps:修正之前写错了,漏了sites)
最后送几十个a1子号,Onedrive应该默认5T的,新建SharePoint网站应该是25T的。如果不是25t的,是因为博主设置为自动分配容量了,后面会升25t。
没有号的可以看看博主小商店。
全局已翻车
已删
。
匿名
匿名
匿名
匿名
匿名
jaz
nginx\nginx\site-confs\default
昵称获取失败
只需要提供sites/(名称) 就行了
给你代码
//获取站点id github.com/742481030/oneindex/oneindex
function get_siteidbyname($sitename, $access_token,$apiurl)
{
$request['headers'] = "Authorization: bearer {$access_token}".PHP_EOL.'Content-Type: application/json'.PHP_EOL;
$request['url'] =$apiurl. '/sites/root';
$resp = fetch::get($request);
$data = json_decode($resp->content, true);
$hostname = $data['siteCollection']['hostname'];
$getsiteid = $apiurl.'/sites/'.$hostname.':sites/'.$sitename;
$request['url'] = $getsiteid;
$respp = fetch::get($request);
$datass = json_decode($respp->content, true);
if ($datass['id']!="")
{return $apiurl.'/sites/'.$datass['id'].'/drive/';}
else{
echo "商业版没有站点";
echo "搜索教育版中.............\n";
$getsiteid = $apiurl.'/sites/'.$hostname.':/teams/'.$sitename;
$request['url'] = $getsiteid;
$respp = fetch::get($request);
$datass = json_decode($respp->content, true);
if ($datass['id']!="")
{return $apiurl.'/sites/'.$datass['id'].'/drive/';
}
else{
echo"没有站点";
}
}
}
jaz
MS
匿名
jaz
匿名
就是下面这图
https://image.suning.cn/uimg/ZR/share_order/158562104413864293.jpg
昵称获取失败
jaz
匿名
匿名
balck
jaz
昵称获取失败
jaz
匿名
是@XXX.com这样解析吗?那我如何创建一个用户呢?
jaz
类型:cname
记录值:mail.0du.win
之后打开你的域名
匿名
jaz
昵称获取失败
匿名
匿名
[email protected] 没有访问此资源的权限。
这里提供一些建议:
请让站点管理员授予您访问权限。
如果有其他帐户,请尝试用该账户登录。
这会让您注销目前您已登录的所有其他 Office 365 服务。
如果此问题仍然存在,请联系您的支持团队,并告知他们这些技术详细信息:
相关 ID: 9e31529f-a0af-b000-e515-b870324f8776
日期和时间: 5/13/2020 7:04:32 PM
用户: [email protected]
问题类型: 用户没有权限。"能不能开一下权限
jaz
你登录office.com进sharepoint创建网站,空间就是25T了
Tommy
jaz
tommy
jaz
匿名
匿名