Google API中的清单文件问题(凭证)

问题描述 投票:0回答:1

我正在尝试使用Google Drive API。我创建了一个服务帐户凭据,并从控制台云下载了该凭据。问题是我是gsuit组织的成员,当我尝试列出文件时,文件为空,但是驱动器中有文件。

from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials

credentials = ServiceAccountCredentials.from_json_keyfile_name(
    "credentials.json", scopes=['https://www.googleapis.com/auth/drive'])
service = build('drive', 'v3', credentials=credentials)
print(service.files().list().execute())

可能是什么?

python google-drive-api
1个回答
1
投票

实际上,您没有提供很多信息,但是请确保在发出的api凭据上,在“您将在哪里调用API的地方”字段中选择了“其他UI”选项,并选择了“用户数据”而不是“应用数据”,范围也应为“ https://www.googleapis.com/auth/drive.readonly.metadata”以列出数据。'https://www.googleapis.com/auth/drive'也是正确的,但是考虑到它是gsuite帐户,因此即使对于您自己的数据,通用范围也会受到限制。

此外,您还应该执行service = DRIVE.files().list().execute().get('files', []) for f in files: print(f['name'])并枚举files数组以获取文件。

如果不起作用,请查看api文档,如果您不明白,请发布更多详细信息,并尝试进行一些调试,然后在此处发布结果。

编辑:也尝试使用具有适当凭据的restapi,并查看是否在那里成功获取了文件。 https://developers.google.com/drive/api/v2/reference/files/list

© www.soinside.com 2019 - 2024. All rights reserved.