Python node.js--为google驱动器文件提供直接链接

Python node.js--为google驱动器文件提供直接链接,python,node.js,google-drive-api,nodes,Python,Node.js,Google Drive Api,Nodes,使用此站点上的另一个答案,我能够找到以下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

使用此站点上的另一个答案,我能够找到以下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}
它可以下载大型谷歌硬盘文件(显示警告页面)

此外,我还可以使用
pip install gdown
命令:

gdown https://drive.google.com/uc?id=0Bz-w5tutuZIYY3h5YlMzTjhnbGM
pip安装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()); 
 });
问题是:

我想能够使用谷歌驱动器为一个网站托管大文件,要做到这一点,我需要能够产生一个直接下载链接。我在想一些事情,比如向mynodewebsite/GOOGLE\u DRIVE\u链接发出GET请求,或者甚至向node.js服务器发出套接字请求,要求其获取链接,然后等待生成的链接响应

然而,尽管我可以使用上述方法缓慢下载文件,但如何简单地返回指向该文件的/a直接链接?我是否需要将google drive文件下载到node.js服务器上,等待它完成处理,然后将该文件的路径返回到客户端,然后将其删除?这将有点挫败大文件的目的,因为我想使用谷歌驱动器作为完整的主机

那么,我怎样才能简单地返回直接的Google Drive下载链接,而不是下载整个内容呢

编辑:

当我尝试打开新创建的项目时:

当您想要检索用于在Google Drive中下载共享大文件的直接链接时,您可以使用使用API密钥的端点。端点如下所示

https://www.googleapis.com/drive/v3/files/### fileId ###?alt=media&key=### API key ###
您可以使用端点作为直接链接并下载文件

参考资料:

根据,显然你不能,你可以选择onedrive/dropbox,只要你想在Google Drive中检索下载共享大文件的直接链接。如果我的理解是正确的,那么使用API密钥如何?当使用API键时,直接链接变得像
https://www.googleapis.com/drive/v3/files/### fileId####alt=media&key=####API key###
,因为可以使用驱动器API。因为我不确定这是否是你想要的,所以我把它作为评论发布了。如果这不是你想要的,我道歉。@Tanaike谢谢我会调查的,但是这允许你在不验证应用程序的情况下访问它吗?@bluejayke是的。您可以直接下载带有端点的文件。例如,当您将包含API密钥的端点放在自己的浏览器中时,您可以直接下载该文件,因为使用了GET方法。@Tanaike Hi您能告诉我可以在不经验证的情况下设置API密钥的链接吗?我正在看,看来你需要核实一下……谢谢!顺便说一句,对于其他人来说:一旦你有了API密钥,只需复制文件夹的公共ID并将其插入这里:{你的文件夹ID}%27+in+parents&key={你的API密钥}不带括号,然后用nodeJS或其他任何东西获取数据,你就有了一个网站@bluejayke感谢您提供的更多信息。您好,顺便说一句,当我尝试使用简单的节点获取技术获取此页面的内容时,这需要很长时间(从基本JSON的4000ms到特定文件的35000ms),请参阅我的新问题:@bluejayke在我目前的情况下,我无法很快找到问题和答案,因为我从未经历过这种情况。我为我拙劣的技能和经验道歉。@bluejayke,非常感谢!这些角色花了我几天时间——在api浏览器页面上,它起作用了,但在邮递员页面上没有。但现在没事了。真的谢谢你!