获取OneDrive直链
本应用的目的是为了批量获取OneDrive直链,方便在其他站点外链。前身为提取OneDrive直链地址工具的网页版,因为原来的工具失效了,软件版也不是那么好用了,因此决定使用OneDrive官方API来进行获取,确保不失效。
隐私声明
使用微软官方API,这里不会得到你的账号密码和其他用户资料。
目前仅申请了Files.Read、Files.Read.Selected两个权限,API只会返回用户选择的文件的信息,不会获得其他内容。
使用方法
- 点击从OneDrive选择文件按钮,等待打开新窗口。
- 在新窗口中登陆OneDrive对应的账户并授予需要的权限。
- 进入OneDrive“公开”文件夹内选择需要获取直链的文件(同一文件夹内可多选),点击打开。
- 选择需要输出的掩码格式,输出面板内会自动生成对应的格式。
控制面板
输出掩码选择
F&Q
- 额外创建分享链接 是什么?
- 1drv.ws 是另一个第三方项目The OneDrive Direct Download Link Helper,通过获取文件的下载链接来达到外链目的。
只需要将 1drv.ms 修改为 1drv.ws 即可。
因为需要后端实现对 onedrive.live.com 的重定向,因此本纯前端网页程序无法内置。
最终重定向地址类似于“官方图片下载直连”
- 优点:直接使用生成的分享链接,不需要先嵌入,再添加 authkey。据说是香港的CDN,比较快。
- 缺点:API 必须使用 share 模式来读取数据,因为无法直接选择文件夹,因此 OneDrive “由我共享”内会生成大量项目。
该方式得到的是下载链接,并不能直接在浏览器内预览文件。
- 如何书写掩码?
- 2020年3月25日新增,并推荐使用ES6原生模板字符串 ${表达式} 书写方式。
“file”表示该文件信息,“index”表示在获取列表中的序号,具体的JSON对象会在获取数据后发送到控制台(或查看全局变量 redata ),需要更多信息的的自己去看吧。
- 旧方法目前仍可用,但因为是自己实现的,因此不再推荐。旧方法请参考掩码用法底部的高级用法。
旧方法的掩码转新写法一般简单把前面的 % 修改为 $即可,但若掩码内使用了 \ 转义符的需要去掉,掩码外需要使用 \ 和 ` 的则需加上转义符。
并且如果使用了变量定义,需要将其修改为闭包的函数表达式“(function(可选接收传入参数){任何代码 return 输出字符串;})(可选传入外部参数)”
- 为什么这个应用必须要在https下运行?
- 微软的规定,非https只返回错误,我也不想。
- 为什么要把文件放在“公开”文件夹?
- 新版OneDrive只有“公开”文件夹(含子文件夹)的权限才是“所有人”,其他文件夹分享必须登录才能看到,无法成功外链。
- OneDrive窗口里如何全选?
- 磁贴模式下:选中第一个,拉到底下,按住Shift点击最后一个,中间的就会自动选上了。
- 列表模式下:点左上角那个选中全部的复选框就行了。
- 如何收回我授予的权限?
- 访问微软账户你已授予访问权限的应用和服务删除即可。
- 没有“公开”文件夹怎么办?
- 好像现在的新账号已经没有公开文件夹了。就需要麻烦点,添加访问通行证。
选中需要共享的文件夹,点击嵌入
在右方复制authkey及其值。将来这个文件夹内的文件及子文件夹都只需要这同一个通行码。
如果忘记,可以点击右上角信息符号,查看共享链接
把authkey及其值加入到x外链地址掩码最后面,作为链接的参数,格式为“?authkey=xxxxxxx”
Copyright © 2017 枫谷剑仙版权所有,本程序源代码使用GPLv3协议公开
Mapaler all right reserved. Source public by GPLv3.