Python 以编程方式从驱动器共享链接下载内容

Python 以编程方式从驱动器共享链接下载内容,python,google-drive-api,google-docs,google-docs-api,Python,Google Drive Api,Google Docs,Google Docs Api,我正在构建一个应用程序来自动触发与用户共享文件的下载。例如,这是直接为Dropbox链接实现的,如前所述。 我正试图为谷歌硬盘链接实现同样的功能,但遇到了困难。现在,应用程序获取链接的第三部分(文件ID)并将其附加到“https://docs.google.com/uc?export=download&id= ". 但这似乎不可靠,特别是我发现共享文件至少有3种不同的链接格式(https://drive.google.com/file/d/xyz, https://docs.google.c

我正在构建一个应用程序来自动触发与用户共享文件的下载。例如,这是直接为Dropbox链接实现的,如前所述。

我正试图为谷歌硬盘链接实现同样的功能,但遇到了困难。现在,应用程序获取链接的第三部分(文件ID)并将其附加到“https://docs.google.com/uc?export=download&id= ". 但这似乎不可靠,特别是我发现共享文件至少有3种不同的链接格式(https://drive.google.com/file/d/xyz, https://docs.google.com/document/d/xyz 等等)。是否有人知道一种普遍适用且可靠的方法可以从Google Drive共享链接中获取文件,如上面为Dropbox概述的过程?

最后,我们可以使用Oauth访问用户驱动器帐户。对于与他们共享的文件,其共享设置设置为“Private”(或除“Public on the web”或“any with the link”)之外的任何内容),我一直在研究(几乎没有成功)是否可以代表Oauth认证用户下载这些文件-有人对此有任何见解吗?

如有任何见解/建议,将不胜感激


[更新]可以从用户驱动器帐户下载“私有”共享文件-它们会自动添加到“与我共享文件夹”,因此只需要可靠的方式获取文件ID。

根据我对驱动器的理解,您需要在不同的位置查找不同的文件类型:

  • /文件/:文件
  • /演示文稿/:演示文稿
  • /电子表格/:电子表格
  • /表格/:表格
  • /图纸/:图纸

除此之外,似乎没有检索文档的方法。

然后可以自由给出自己的答案。从链接文件可靠地获取文件ID才是真正的问题,因为链接格式不同。这就是使用此。。。但是您应该能够解析出文件类型,并使用它来获取所需的子文件夹。同样,不幸的是,它们似乎并不是在同一子文件夹下托管所有文件。用户可以在其驱动器的任何文件夹中拥有任何类型的文件?从URL获取文件类型对于从文档格式转换非常有用。我主要使用文档,因为我使用我的驱动器写论文等等。Google Drive的文件夹对典型文件的url没有影响。因此,如果X文件夹中有一个文件,Y文件夹中有一个文件,即使它们在不同的文件夹中,它们的URL文件夹保持完全相同。因此,X文件夹中的文件将是:而Y文件夹中的文件将是:您不应该构建自己的URL。您需要检索文件资源(直接通过ID或通过查询),然后使用最适合您的用例的各种下载/导出URL中的任何一种。对于从链接中获取ID有何建议?正在寻找一种可靠的方法来执行此操作。@pinoyyid-如何使用文件列表从共享URL确定文件的ID?