上传和下载文件到google drive/Local pc

1 上传

参考:使用 Python 将文件上传到 Google 云端硬盘_迹忆客

Upload file to google drive using Python - CodeSpeedy (没起作用,但可以参考一下)

第 1 步:Google API Playground

我们可以通过搜索 Google 找到更多关于 Google API Playground 的信息。 我们必须单击第一个链接才能继续前进。

上传和下载文件到google drive/Local pc_第1张图片

选择第一个链接后,我们会自动进入下一个页面,如下:

上传和下载文件到google drive/Local pc_第2张图片

第 2 步:Google 云端硬盘 API

在 Google Developers 页面上,我们必须找到 Drive API 以及其他选项。

我们将搜索名为 Drive API 3 的选项并选择它。 当我们选择它时,一个链接列表将出现在我们面前。

上传和下载文件到google drive/Local pc_第3张图片

我们必须选择链接列表中显示的第一个链接。 如果我们要选择任何东西,我们需要先点击它,然后我们会看到它旁边出现一个复选标记。

所以在这里我们将点击第一个链接。

上传和下载文件到google drive/Local pc_第4张图片

在大约三到五秒钟的短暂等待后,我们将被重定向到我们的 Gmail 帐户。

第 3 步:Gmail 帐户

单击我们要将文件上传到其驱动器的 Gmail 帐户,然后按照屏幕上的说明进行操作。 屏幕上将显示取消和允许两个选项。

要继续,我们必须从下拉菜单中选择允许。 当我们点击 Google 帐户时,Google Auth 会询问我们是否要允许该操作。

上传和下载文件到google drive/Local pc_第5张图片

第四步:授权码

当我们最终放弃并单击“允许”按钮时,我们将被重定向到一个新页面,我们可以在其中检索我们的权限代码。

上传和下载文件到google drive/Local pc_第6张图片

另一方面,我们不会复制它,因为我们不需要授权码。 相反,我们将单击交易授权码的按钮来访问令牌。

上传和下载文件到google drive/Local pc_第7张图片

单击按钮后,我们将获得访问令牌。

上传和下载文件到google drive/Local pc_第8张图片

在处理 Python 代码时,我们需要复制访问令牌并将其存储在安全的地方。 我们将使用 Python 来方便将文件上传到我们的 Google 云端硬盘,并且需要访问令牌。


在 Google Drive 中上传文件的 Python 代码

第 1 步:库

首先,导入所需的库和模块。 在这种情况下,我们必须导入 JSON 和请求。

我们使用 JSON 上传文件和请求 API 以允许我们上传文件。

示例代码:

import json
import requests

第 2 步:访问令牌

其次,我们将创建一个字典并使用访问令牌作为其中一个键的值。 在这个场景中,授权是关键,访问令牌是价值。

示例代码:

headers = {"Authorization": "Bearer Paste your access token here"}

我们可以在 Bearer 后面复制并粘贴 access token,只用空格。

第 3 步:文件名

现在我们可以创建另一个字典并为我们要上传的文件命名。

示例代码:

para = {
    "name": "##name for python uploaded file####",
}

第 4 步:路径

现在我们必须访问我们要上传的文件。 为此,我们必须提供文件的路径。

Python 将按照路径到达文件并打开它。

示例代码:

files = {
    'data': ('metadata', json.dumps(para), 'application/json; charset=UTF-8'),
    'file': open("Pythonfile.jpg", "rb")
}

第 5 步:请求

现在我们将使用 Python 的 requests 模块来请求 Google Drive APIs 上传文件。

示例代码:

r = requests.post(
    "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart",
    headers=headers,
    files=files
)

第 6 步:打印

现在我们将上述所有步骤与运行代码结合起来。 最后,我们将使用 print 语句来查看我们的代码是否有效。

示例代码:

import json
import requests
headers = {"Authorization": "Bearer Paste your access token here"}
para = {
    "name": "##name for python uploaded file####",
}
files = {
    'data': ('metadata', json.dumps(para), 'application/json; charset=UTF-8'),
    'file': open("Pythonfile.jpg", "rb")
}
r = requests.post(
    "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart",
    headers=headers,
    files=files
)
print(r.text)

输出:

{
 "kind": "drive#file",
 "id": "1Furfhe8BFbkEhXn1xcYPr8jYAACNpfV7p",
 "name": "##python uploaded image####",
 "mimeType": "image/jpeg"
}

如果我们没有错误地得到这个输出,我们的代码工作正常,我们想要上传的文件必须上传到 Google Drive。

第 7 步:验证

我们可以去Google Drive查看文件是否上传成功。 我们 100% 确定我们的文件将按照上述步骤上传到驱动器中。

使用 Python,我们现在可以将文件上传到 Google Drive。 设置此过程很简单,只需几分钟,仅此而已。

# https://www.jiyik.com/tm/xwzj/prolan_6706.html

import json
import requests
headers = {"Authorization": "Bearer ya29.a0AfB_..."}
para = {
    "name": "Files/img.png",
}
files = {
    'data': ('metadata', json.dumps(para), 'application/json; charset=UTF-8'),
    'file': open("img.png", "rb")
}
r = requests.post(
    "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart",
    headers=headers,
    files=files
)
print(r.text)

2  下载

参考:

ubuntu 使用gdown下载Google Drive文件, 文件夹, 下载别人分享的文件夹_谷歌云盘怎么下载别人分享的文件夹-CSDN博客google drive文件下载(python包)__less is more的博客-CSDN博客
 

需要注意google drive上的文件authenticate 'Anyone with link'

点击sharing,复制link:https://drive.google.com/file/d/1ZHC_IyqcPoq_WAQpVo94GAnmIu22QjYi/view?usp=sharing

提取标识符:1ZHC_IyqcPoq_WAQpVo94GAnmIu22QjYi

# img
#url = 'https://drive.google.com/uc?id=标识符'
url = 'https://drive.google.com/uc?id=1ZHC_IyqcPoq_WAQpVo94GAnmIu22QjYi'
output = 'downloaded_file.png'
gdown.download(url, output, quiet=False)

你可能感兴趣的:(1024程序员节,python)