谷歌选择器并下载所选文件



我已经设法集成了谷歌选择器。现在我有了 FileId 和access_token。我需要在 Python 后端下载选定的文件。 我已经遵循了谷歌开发人员的文档,但是如果我使用python库,那么我必须再次对用户进行身份验证,这不适合我的情况。 如果我可以下载任何格式的文件,请启发我。

提前谢谢。

这是一个非常简单的示例脚本,用于在没有 Google 库的情况下使用访问令牌和文件 ID 下载文件。正如您所说,此示例假设除Google文档以外的文件(图像和视频(。流程如下。

流:

  1. 检索文件名和 mimeType。
  2. 从检索到的文件名和 mimeType 创建文件名。如果文件名在 Google 云端硬盘上没有扩展名,此脚本会使用 mimeType 将扩展名添加到文件名中并保存。如果文件名在 Google 云端硬盘上具有扩展名,则此脚本将使用原始文件名并保存。
  3. 下载文件并将其另存为创建的文件名。如果要将文件保存到特定目录,请自行设置。

示例脚本:

import mimetypes
import os.path
import requests
accessToken = "### access token ###"
fileId = "### file id ###"
fileInf = requests.get(
"https://www.googleapis.com/drive/v3/files/" + fileId,
headers={"Authorization": "Bearer " + accessToken},
)
filename = fileInf.json()["name"]
temp, ext = os.path.splitext(filename)
filename = filename if ext != "" else filename + mimetypes.guess_extension(fileInf.json()["mimeType"])
r = requests.get(
"https://www.googleapis.com/drive/v3/files/" + fileId + "?alt=media",
headers={"Authorization": "Bearer " + accessToken},
)
with open(filename, "wb") as f:
f.write(r.content)

如果这对你没有帮助,我很抱歉。

最新更新