python - node.js -- 为谷歌驱动文件提供直接链接
问题描述
在这个网站上使用另一个答案,我能够找到这个 curl 脚本:
#!/bin/bash
fileid="0Bz-w5tutuZIYY3h5YlMzTjhnbGM"
filename="MyFile.tar.gz"
curl -c ./cookie -s -L "https://drive.google.com/uc?export=download&id=${fileid}" > /dev/null
curl -Lb ./cookie "https://drive.google.com/uc?export=download&confirm=`awk '/download/ {print $NF}' ./cookie`&id=${fileid}" -o ${filename}
它能够下载大型 Google Drive 文件(显示警告页面)。
此外,我能够使用以下pip install gdown
命令:
gdown https://drive.google.com/uc?id=0Bz-w5tutuZIYY3h5YlMzTjhnbGM
或pip install youtube-dl
图书馆:
youtube-dl https://drive.google.com/uc?id=0Bz-w5tutuZIYY3h5YlMzTjhnbGM`
我什至可以在 NODE.js 中运行 gdown 脚本:
const {spawn} = require("child_process");
var g = spawn("gdown", ["https://drive.google.com/uc?id=0Bz-w5tutuZIYY3h5YlMzTjhnbGM"]);
g.stdout.on('data', (d) => {
console.log(d.toString());
});
g.stderr.on('data', (d) => {
console.log(d.toString());
});
g.on('close', (d) => {
console.log("closed with: " + d.toString());
});
问题:
我希望能够使用 Google Drive 来托管网站的大文件,为此我需要能够生成直接下载链接。我正在考虑向 mynodewebsite/GOOGLE_DRIVE_LINK 发出 GET 请求,甚至向 node.js 服务器发出套接字请求,要求它获取链接,然后等待生成的链接响应。
但是,虽然我可以使用上述方法慢慢下载文件,但我怎样才能简单地将 / 返回到文件的直接链接?我是否需要将google驱动文件下载到node.js服务器上,等待它完成处理,然后将该文件的路径返回给客户端,然后再将其删除?这会破坏大文件的目的,因为我想使用 Google Drive 作为完整的主机......
那么我怎样才能简单地返回直接的 Google Drive 下载链接而不是下载整个东西呢?
编辑:
解决方案
推荐阅读
- javascript - 引用相关单元格的颜色
- reactjs - sudo npm run start 管理员权限错误?
- c# - C# - 如何在控制台应用程序上显示进程进度百分比并打印更改字符串?
- javascript - Selenium WebDriver - 单击 Javascript 按钮
- laravel - 在 Laravel 中提交表单时处理日期时间字段
- blender - EEVEE 没有按照我想要的方式渲染我的图像,程序生成的阴影以紫色渲染
- javascript - 在异步函数中使用查询
- arrays - 将 char 数组与 KeyEvent 进行比较时获取 ArrayIndexOutOfBoundsException
- python - 尝试使用 Python 将复杂的嵌套 JSON 模式转换为 Excel 电子表格或 CSV
- discord - 这个 discord.js 事件不起作用需要适应