使用Python将文件上传到Google Drive

这篇文章将教我们如何使用Python将文件上传到Google Drive。为了实现这一目标,我们将利用Google Drive的API。

因此,去谷歌开发者控制台,创建一个新的项目。这可能需要五到十秒,甚至几分钟的时间。

使用Python将文件上传到Google Drive

Python是一种流行的编程语言,因为它有许多功能和库,可以用于各种用途。将文件上传到Google Drive的能力是其服务之一。

在很多情况下,我们可能需要上传文件到Google Drive。例如,如果我们的电脑出了问题,我们可能想与另一个人分享文件或创建一个备份副本。

无论出于何种动机,使用Python将文件上传到Google Drive是一个简单的过程。下面几段将演示如何执行这项任务。

在我们开始之前,我们需要准备一些东西。首先,我们需要在每台电脑上预装Python。

如果我们还没有安装,我们可以从Python网站上下载它。

接下来,为了访问Google Drive,我们首先需要一个Gmail账户。我们将假定我们每个人都使用Gmail。所以我们开始吧。

第一步:谷歌API游乐场

我们可以通过搜索谷歌找到更多关于Google API Playground 。我们必须点击第一个链接才能进一步前进。

Searching Google api playground

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

Redirecting to Google developers

第二步:Google Drive API

Google Developers 页面,我们必须在其他选项中找到Drive API的方法。

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

Searching for Drive api v3

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

因此,在这里我们将点击第一个链接。

Clicking on Authorize api

经过大约三到五秒的短暂等待,我们将被重定向到我们的Gmail账户。

第3步:Gmail账户

点击我们要上传文件到其驱动器的Gmail账户,然后按照屏幕上的指示操作。屏幕上会有两个选项,CancelAllow ,显示在屏幕上。

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

Allowing Gmail account

第四步:授权代码

当我们最终屈服并点击Allow 按钮时,我们将被重定向到一个新的页面,在那里我们可以检索到我们的许可代码。

Code authorization

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

Clicking on exchange authorize code

点击该按钮后,我们将得到访问令牌。

Access token

在研究Python代码的时候,我们将需要制作一份访问令牌的副本,并将其存放在安全的地方。我们将使用Python来促进文件上传到我们的Google Drive,而访问令牌将是必需的。

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

第1步:库

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

我们使用JSON 来上传文件,使用requests 来请求API来允许我们上传文件。

示例代码:

import json
import requests

第2步:访问令牌

其次,我们将建立一个字典,并使用访问令牌作为其中一个键的值。在这种情况下,授权是键,访问令牌是值。

示例代码:

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

我们可以在Bearer ,只用空格复制和粘贴访问令牌。

第三步:文件名

现在我们可以创建另一个字典,给我们要上传的文件起个名字。

示例代码:

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。设置这个程序很容易,只需要几分钟,这就是它的全部内容。