如何通过http请求从googledrive获取列表文件?

2024-09-30 14:28:21 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用访问令牌获取文件列表? 我读过DocGoogleDrive,但我不知道如何写列表文件的请求。 我的例子:

rqf = requests.get('https://www.googleapis.com/drive/v3/files', headers=
{"Authorization": access_token})

输出

^{pr2}$

Tags: 文件httpscom列表getwwwv3files
2条回答

使用PyDrive模块来处理googledrive,我不知道是否喜欢使用它。但是,如果您想按照下面的说明操作,进一步的信息请阅读PyDrive’s documentation。在

  1. 转到API控制台并创建自己的项目。在
  2. 搜索“Google Drive API”,选择条目,然后单击“启用”。在
  3. 从左侧菜单中选择“凭据”,单击“创建凭据”,选择“OAuth客户端ID”。在
  4. 现在,需要设置产品名称和同意屏幕->;单击“配置同意屏幕”并按照说明进行操作。完成后:
    1. 选择“应用程序类型”作为Web应用程序。在
    2. 输入适当的名称。在
    3. 输入http://localhost:8080作为“授权JavaScript来源”。在
    4. 为“授权重定向URIs”输入http://localhost:8080/。在
    5. 单击“保存”。在
  5. 单击客户端ID右侧的“下载JSON”下载client_secret_<really long ID>.json。在

下载的文件包含应用程序的所有身份验证信息。将文件重命名为client_secrets.json,并将其放入您的工作目录中。

创建quickstart.py文件并复制并粘贴以下代码。在

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive

# Make auth
gauth = GoogleAuth()
gauth.LocalWebserverAuth() # Creates local webserver and auto handles authentication.

用python运行这段代码快速入门.py你会看到一个网络浏览器要求你进行身份验证。单击接受即可完成身份验证。有关详细信息,请参阅文档:OAuth made easy

获取文件列表

PyDrive处理分页并将响应解析为GoogleDriveFile的列表。让我们获取googledrive根文件夹中所有文件的标题和id。同样,将以下代码添加到quickstart.py并执行它。在

^{pr2}$

您将看到标题和所有文件和文件夹的根文件夹在您的谷歌驱动器。有关详细信息,请参阅文档:File listing made easy

  • 您想通过requests.get()使用Drive API v3检索文件列表。在

如果我对你问题的理解是正确的,那么这次修改如何?在

修改点:

  • 当它使用headers时,请使用{"Authorization": "Bearer " + accessToken}。在
  • 也可以将访问令牌用作查询参数。在

您可以根据您的情况选择以下两种模式。在

模式1:使用标题

import requests
access_token = "#####"
headers = {"Authorization": "Bearer " + access_token}
r = requests.get('https://www.googleapis.com/drive/v3/files', headers=headers)
print(r.text)

模式2:使用查询参数

^{pr2}$

注:

  • 这个修改过的脚本假设如下。
    • 已在API控制台启用驱动器API。在
    • 检索文件列表的作用域包含在访问令牌的作用域中。在

参考文献:

如果我误解了你的问题,对不起。在

相关问题 更多 >