前言
OneDrive的网盘程序介绍过很多款,但是都是需要VPS服务器来部署,本文将介绍无需服务器,使用腾讯云SCF云函数服务,即可在云端部署你的OneDrive分享云盘.
部署准备
获取API密钥
登陆腾讯云控制台 - 访问管理
API密钥管理 - 新建密钥
获取SecretId
和SecretKey
获取云函数代码
访问项目地址点击download下载并解压缩
部署SCF云函数
新建函数
登陆腾讯云控制台 - SCF云函数
区域选择 - 中国香港 - 新建
填写函数名
运行环境选择Php 7.2
选择空白函数
下一步
拉到下方高级配置
环境变量中分别添加上文获取的SecretId
和SecretKey
完成
上传函数代码
函数代码
提交方法 - 本地上传文件夹
选择刚才解压缩的文件夹保存
触发方式
添加触发方式
- 触发方式 - API网关触发器
勾选
启用集成响应- 其他保持默认并保存
生成访问路径
部署网盘
链接OneDrive
访问生成的访问路径
选择你的OneDrive类型
确认后会弹出登陆OneDrive页面,登陆后等待跳转回即可成功链接.
配置网盘
函数配置 - 编辑为提高访问体验,可将内存可提高至512M或1024M
连接过OneDrive后,此时的环境变量已经自动生成了一些配置,请不要删除
.
继续添加以下环境变量:
- sitename =>
IOIOX网盘
配置站点名称 - public_path =>
/
私有地址访问网盘的文件展示路径,/
为根目录. - private_path =>
/
配置CDN加速域名访问网盘的文件展示路径,/
为根目录. - passfile =>
.password
配置加密功能,目录下有.password
的文件,改目录需密码才能访问. - admin =>
xxxxxxxx
配置管理员密码
配置域名
解析专用域名
为本网盘配置一个二级域名,并解析CNAME到上文生成的访问路径
的前半部分
.
CNAME参考service-ft48dihy-1253567893.ap-hongkong.apigateway.myqcloud.com
自定义域名
触发方式 - 点击API服务名
自定义域名 - 新建
新增自定义域名
- 填写自定义域名
- 协议选择
http和https
- 选择证书,如没有可以
点击前往
免费申请. - 路径映射选择自定义路径,值为
/
和发布
.
管理API - 点击编辑
路径改为/
根目录
下一步
确保启用响应集成
下一步
返回类型选择HTML
完成
前往发布服务
点击发布
发布环境选择发布
备注自定义填写后提交
配置强制跳转HTTPS
函数服务 - 函数代码
- 选择左侧
index.php
- 找到
<head>
标签,在下面粘贴以下代码
强制跳转代码
<script>
if (location.protocol === "http:") {
location.href = location.href.replace(/http/, "https");
}
</script>
部署完成
至此完成以上全部流程,现在可以使用域名来访问网盘了.
结语
腾讯云SCF云函数服务在2020年1月7日正式收费
,免费额度为每月40万GBs资源使用量及100万次跳用次数.而本网盘程序仅仅只是需要耗费调用OneDrive的API请求的资源使用量和次数,来获取文件的直连下载地址.最终上传和下载文件都是直连OneDrive服务器,不会产生额外流量费用,所以免费的额度基本时足够日常使用了
.
44 条评论
我之前安装的,昨天还可以打开,今天打开就报错了,然而我什么也没有动。。。估计是腾讯那边更新了。
{"errorCode":-1,"errorMessage":"user code exception caught","stackTrace":"Exception: failed to get access_token. in /var/user/index.php:215\nStack trace:\n#0 /var/user/index.php(61): list_files('/')\n#1 /var/runtime/php7/bootstrap.php(41): main_handler(Array, Array)\n#2 /var/runtime/php7/bootstrap.php(191): _scf_bootstrap\EventHandler-\u003ehandle(Object(stdClass), Object(stdClass))\n#3 /var/runtime/php7/bootstrap.php(214): _scf_bootstrap\__main_for_scf()\n#4 {main}"}
你的还能打开吗、
我从写这篇文章开始就创建到现在没动过...依旧很稳啊
大佬,现在最新版怎么强制https
新版此方法仍然使用,新版后台有一个地方可以手动加css代码,可以用来放统计代码或者那个代码,自己研究吧
新版我没试过哦.
我登录的时候,显示【需要管理员批准】,是账号的问题吗?我的教育 5T
可能是管理员没开放API给你的账号
应该是吧.我没遇到过.
大佬这是怎么回事?
Error
InvalidParameterValue
A value specified in
Region
is not valid, is unsupported, or cannot be used.function_name:one
Region:sg
namespace:default
添加环境变量Region ap-hongkong
原作者也没继续维护这个项目了.
貌似腾讯的SCF改了...目前我重新安装测试也是这个问题
请问有解决办法吗。。
好像暂时没有解决办法
加一个Region的环境变量,具体看作者的github
可以直接说一下嘛,他的GitHub我没找到这个变量应该填什么
加一个叫Region的变量,取值根据腾讯云的docs填入对应地域,看https://cloud.tencent.com/document/api/583/17238#.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8
好吧
index.php文件嵌html代码了吗,我想添加背景图片,可以修改吗