将Onedrive部署成网盘

date
Dec 30, 2021

方法一,部署到Vercel

🥵
缺点:Vercel容易抽风;速度有点慢,界面优雅的后果。
  1. 按照步骤,设置Onedrive。
    1. 打开 Mircrosoft Azure appRegistrations
    2. 登录Microsoft账号;
    3. 创建名称,比如my-ondrive-vercel;
    4. 账户类型选择:“任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)”
    5. 重定向URI选择web,后面填“https://heymind.github.io/tools/microsoft-graph-api-auth”(因为没有本地的node.js,所以只能依靠这个来网址获取token,所以这里填这个。
      1. 💡
        因为在git中默认设置的重定向URI是localhost, 因此这里最后还需再添加一行:http://localhost 不然就一直是404.(下次试试不用localhost)
    6. 点击注册。
  1. 在“概述”(Overview)中,获取“客户端ID”(client_id);
  1. “证书和密码”中,创建新客户端密码(只会显示一次,注意保存);
    1. 新建,说明中填:client_secret,期限设为最长的24个月(没有之前的从不了);
    2. 复制client_secret的“值”,并保存下来;
  1. API权限配置
    1. 点击 Microsoft Graph;
    2. 搜索offline_access, Files.Read, Files.Read.All, 勾选并更新权限。
  1. 获取TOKEN,最麻烦的一步。因为本地node.js环境,所以用了第三方的:
    1. 打开之前提到过的网站:https://heymind.github.io/tools/microsoft-graph-api-auth;
    2. 填入Client ID, 点击AUTHORIZE,获取Code;(这个网站下面的步骤走不下去了,因此)
    3. 在postman.com网站,下载Postman app安装;
    4. 在Workspace中,新建一个Request,选择PSOT,填入刚才的网址:https://heymind.github.io/tools/microsoft-graph-api-auth,点击Send;
    5. 选择 Body,然后选择 x-www-form-urlencoded;
    6. 天赋如下key以及value,然后点击send;获得access_token和refresh_token。
    7. notion image
  1. folk spsencerwoo大神的仓库,然后
    1. 修改config/api.json中,client ID;
    2. 修改config/site.json中的网站相关信息;
  1. 在Vercel上部署。别忘了建立3个环境变量:REFRESH_TOKEN, ACCESS_TOKEN, CLIENT_SECRET.

方法二,部署到Cloudflare

🥵
缺点:除图片外其他格式的文件均不能预览,并且不能直接点击下一个来打开下一张图片;

后端设置

  1. 在Cloudflare建立Worker
  1. 登录 https://logi.im/fodi/get-code/ , 选择合适的版本;
  1. 点击前往登录,等待出现“无法访问此网站”后,复制浏览器链接;
  1. 回到第二步的网页,在“浏览器跳转地址”中填入复制的链接;
  1. 设置好展示的文件夹后(不设置就是全部显示),点击获取代码;
    1. 不知道为什么,我这里设置了子目录,但是没有成功……只能根目录分享
  1. 复制生成的代码,粘贴到Cloudflare中相应Worker中的“快速编辑”中。

前端设置

  1. 打开并Fork这个仓库
  1. 打开index.html(只有这么一个文件)编辑;
  1. 在其中的SCF_GATEWAY项中,填入Cloudflare中相应Worker的地址;
  1. SITE_NAME中设置自己需要的网站名称,然后保存设置;
  1. 在Github的Settings中,将仓库名称更改为 自定义.github.io,这样的格式,然后点击Rename确认,使之可以公开访问;
  1. 还是在Settings页面,下拉找到Source,将其值改为master branch(其实刚folk,不用改);
💡
如果需要加密文件夹:
在某个文件夹下添加 .password 文件,里面写入密码,即可加密该文件夹。注意文件必须以 UTF8NoBOM 编码,且密码前后不能有空格或空行,Windows 下可通过以下方式生成:
在待加密文件夹下按住 Shift 键的同时,鼠标右击文件夹空白处,选择 在此处打开 Powershell 窗口(S),接着执行以下命令,其中 1234 便是密码。
'1234' | Out-File -FilePath .password -Encoding ascii -NoNewline
 
 

© 等闲 2021 - 2024