-
Notifications
You must be signed in to change notification settings - Fork 55
/
index.html
106 lines (102 loc) · 6.35 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>获取OneDrive直链</title>
<link rel="icon" href="icon.png" type="image/x-png" />
<link rel="shortcut icon" href="icon.png" type="image/x-png" />
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="https://alcdn.msauth.net/browser/2.35.0/js/msal-browser.min.js"></script>
<!--
官方示例代码是 MSAL 2.x 的,切换到 MSAL 3.x 无法使用
想迁移 v3 的自己看 https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/v2-migration.md
找 v2 最新的自己看 https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/cdn-usage.md
-->
<script type="text/javascript" src="scripts/auth.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<h1>获取OneDrive直链</h1>
<p>本应用的目的是为了批量获取OneDrive直链,方便在其他站点外链。前身为<a href="http://bbs.comicdd.com/thread-354826-1-1.html" target="_blank">提取OneDrive直链地址工具</a>的网页版,因为原来的工具失效了,软件版也不是那么好用了,因此决定使用OneDrive官方API来进行获取,确保不失效。
</p>
<h3>隐私声明</h3>
<p>使用微软官方API,这里不会得到你的账号密码和其他用户资料。<br>
目前仅申请了Files.Read、Files.Read.Selected两个权限,API只会返回用户选择的文件的信息,不会获得其他内容。
</p>
<h3>使用方法</h3>
<ol class="howtouse">
<li>点击<span class="openbtn" title="不是点我,真的按钮在下面呢" onclick="document.getElementById('launchPicker').click();">从OneDrive选择文件</span>按钮,等待打开新窗口。</li>
<li>第一次可能被浏览器广告拦截阻断,需要手动允许浏览器打开新窗口。</li>
<li>在新窗口中登陆 OneDrive 对应的账户并授予需要的权限。</li>
<li>进入 OneDrive “公开”文件夹内选择需要获取直链的文件(同一文件夹内可多选),点击打开。<a href="#no-public">没有“公开”怎么办</a></li>
<li>选择需要输出的掩码格式,输出面板内会自动生成对应的格式。</li>
</ol>
<div class="splitContainer">
<div class="picker">
<h3>控制面板</h3>
<button class="openbtn" id="launchPicker">从OneDrive选择文件</button>
<!--<label><input type="checkbox" class="add-permission">主动添加访问权限(无所有人查看权限的文件)</label>-->
<div>输出字符串模板</div>
<select class="mask-list" size="5" onclick="mask_select();"></select>
<div class="mask-bar">
<input class="mask-name" type="text" placeholder="自定义名称" />
<input class="mask-content" type="text" placeholder="掩码内容" />
<input class="mask-add" value="+" type="button" onclick="mask_add();" />
<input class="mask-remove" value="-" type="button" onclick="mask_remove();" />
</div>
<div class="tip">▲以上掩码设置保存在浏览器本地</div>
</div>
<div class="output">
<h3>输出面板</h3>
<div class="outinfo"></div>
<textarea class="outcontent"></textarea>
</div>
</div>
<h3>F&Q</h3>
<dl>
<dt>如何书写掩码?</dt>
<dd>使用 ES6 原生<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Template_literals">模板字符串</a> ${表达式} 书写方式。
“file”表示该文件信息,“index”表示在获取列表中的序号,具体的JSON对象会在获取数据后发送到控制台(或查看全局变量 redata ),需要更多信息的的自己去看吧。</dd>
<dt>为什么要把文件放在“公开”文件夹?</dt>
<dd>新版OneDrive只有“公开”文件夹(含子文件夹)的权限才是“所有人”,其他文件夹分享必须登录才能看到,无法成功外链。</dd>
<dt id="no-public">没有“公开”文件夹怎么办?</dt>
<dd>好像现在的新账号已经没有公开文件夹了。就需要麻烦点,添加访问通行证。<br>
<details>
<summary>有<strong>嵌入</strong>相册按钮</summary>
选中需要共享的文件夹,点击嵌入<br>
<img src="images/Image 29.png" alt="点击嵌入"/><br>
在右方复制authkey及其值。将来这个文件夹内的文件及子文件夹都只需要这同一个通行码。<br>
<img src="images/Image 30.png" alt="复制authkey"/><br>
如果忘记,可以点击右上角信息符号,查看共享链接<br>
<img src="images/Image 31.png" alt="查看信息"/>
</details>
<details>
<summary>通过<strong>共享</strong>连接获取</summary>
选中需要共享的文件夹,点击共享<br>
<img src="images/share-1.webp" alt="点击共享"/><br>
因为不希望被其他人编辑,修改权限。<br>
<img src="images/share-2.webp" alt="编辑权限"/><br>
设定为与任何人共享,仅查看,点击应用<br>
<img src="images/share-3.webp" alt="设定权限"/><br>
复制生成的共享连接<br>
<img src="images/share-4.webp" alt="复制链接"/><br>
如果忘记了复制,可以在<strong>文件夹详细信息-管理访问权限-链接</strong>可以重新获得之前生成的链接<br>
<img src="images/share-4-2.webp" alt="重新找回链接"/><br>
直接在地址栏访问链接<br>
<img src="images/share-5.webp" alt="访问链接"/><br>
在跳转到的新地址里复制 <strong>authkey</strong><br>
<img src="images/share-6.webp" alt="复制authkey"/><br>
</details>
把authkey及其值加入到x外链地址掩码最后面,作为链接的参数,格式为“?authkey=xxxxxxx”<br>
<img src="images/Image 32.png" alt="修改掩码"/><br>
</dd>
<dt>OneDrive窗口里如何全选?</dt>
<dd>磁贴模式下:选中第一个,拉到底下,按住Shift点击最后一个,中间的就会自动选上了。</dd>
<dd>列表模式下:点左上角那个选中全部的复选框就行了。</dd>
<dt>如何收回我授予的权限?</dt>
<dd>访问微软账户<a href="https://account.live.com/consent/Manage" target="_blank">你已授予访问权限的应用和服务</a>删除即可。</dd>
</dl>
</p>
<div class="copyright">Copyright © 2024 本程序源代码使用GPLv3协议公开<br >Source public by GPLv3.</div>
</body>
</html>