1 上传
参考:使用 Python 将文件上传到 Google 云端硬盘_迹忆客
Upload file to google drive using Python - CodeSpeedy (没起作用,但可以参考一下)
第 1 步:Google API Playground
我们可以通过搜索 Google 找到更多关于 Google API Playground 的信息。 我们必须单击第一个链接才能继续前进。
选择第一个链接后,我们会自动进入下一个页面,如下:
第 2 步:Google 云端硬盘 API
在 Google Developers 页面上,我们必须找到 Drive API 以及其他选项。
我们将搜索名为 Drive API 3 的选项并选择它。 当我们选择它时,一个链接列表将出现在我们面前。
我们必须选择链接列表中显示的第一个链接。 如果我们要选择任何东西,我们需要先点击它,然后我们会看到它旁边出现一个复选标记。
所以在这里我们将点击第一个链接。
在大约三到五秒钟的短暂等待后,我们将被重定向到我们的 Gmail 帐户。
第 3 步:Gmail 帐户
单击我们要将文件上传到其驱动器的 Gmail 帐户,然后按照屏幕上的说明进行操作。 屏幕上将显示取消和允许两个选项。
要继续,我们必须从下拉菜单中选择允许。 当我们点击 Google 帐户时,Google Auth 会询问我们是否要允许该操作。
第四步:授权码
当我们最终放弃并单击“允许”按钮时,我们将被重定向到一个新页面,我们可以在其中检索我们的权限代码。
另一方面,我们不会复制它,因为我们不需要授权码。 相反,我们将单击交易授权码的按钮来访问令牌。
单击按钮后,我们将获得访问令牌。
在处理 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)