使用此站点上的另一个答案,我能够找到以下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云端硬盘文件(显示警告页面)。
此外,我还可以使用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云端硬盘为网站托管大型文件,为此,我需要能够产生直接下载链接。我在想类似对mynodewebsite / GOOGLE_DRIVE_LINK进行GET请求,甚至对node.js服务器进行套接字请求,要求它获取链接,然后等待生成的链接响应。
如何 ,尽管我可以使用上述方法缓慢下载文件,但如何才能简单地将/的直接链接返回给文件?我是否需要将Google驱动器文件下载到node.js服务器上,等待它完成处理,然后将该文件的路径返回给客户端,然后再将其删除?因为我想使用Google云端硬盘作为完整的托管服务,所以这会破坏大文件的用途。
那么我该如何直接返回Google云端硬盘直接下载链接而不是下载整个内容呢?
编辑:
答案 0 :(得分:1)
当您要检索直接链接以在Google云端硬盘中下载共享的大文件时,可以使用具有API密钥的端点。端点如下。
https://www.googleapis.com/drive/v3/files/### fileId ###?alt=media&key=### API key ###
您可以将端点用作直接链接并下载文件。