如何获取带有访问令牌的文件列表? 我读了doc google drive,但是我不知道如何写请求列出文件。 我的例子:
rqf = requests.get('https://www.googleapis.com/drive/v3/files', headers=
{"Authorization": access_token})
输出
{
"error": {
"errors": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Invalid Credentials"
}
}
答案 0 :(得分:1)
requests.get()
使用Drive API v3检索文件列表。如果我对您的问题的理解是正确的,那么该修改如何?
headers
时,请使用{"Authorization": "Bearer " + accessToken}
。您可以根据自己的情况选择以下两种模式。
import requests
access_token = "#####"
headers = {"Authorization": "Bearer " + access_token}
r = requests.get('https://www.googleapis.com/drive/v3/files', headers=headers)
print(r.text)
import requests
access_token = "#####"
r = requests.get('https://www.googleapis.com/drive/v3/files?access_token=' + access_token)
print(r.text)
如果我误解了你的问题,对不起。
答案 1 :(得分:0)
使用PyDrive
模块处理Google云端硬盘,我不知道是否喜欢使用它。但是,如果您要按照以下说明进行操作,请进一步阅读 PyDrive’s documentation。
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 quickstart.py运行此代码,您将看到一个网络浏览器,要求您进行身份验证。点击接受,身份验证完成。有关更多详细信息,请查看文档:{{3}}
获取文件列表
PyDrive
处理分页并将响应解析为OAuth made easy的列表。让我们获取Google云端硬盘根文件夹中所有文件的标题和ID。再次,将以下代码添加到quickstart.py
并执行它。
drive = GoogleDrive(gauth)
# Auto-iterate through all files that matches this query
file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
for file1 in file_list:
print('title: %s, id: %s' % (file1['title'], file1['id']))
您将在Google云端硬盘的根文件夹中看到所有文件和文件夹的标题和ID。有关更多详细信息,请查看文档:{{3}}