Python Google API get() 与 get_media()

2024-07-01 08:35:08 发布

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

我正在尝试使用Python访问存储在googleteamdrive上的一些文件。我已经找到了下载文件的功能,但是在尝试获取元数据时遇到了一个神秘的问题

如果我执行以下操作:

myfileid = 'thegooglefileid'
self.service = build('drive', 'v3', http=creds.authorize(Http()))
data = self.service.files().get_media(fileId=myfileid).execute()
meta = self.service.files().get(fileId=myfileid,fields="*").execute()

“data”按预期返回,允许我按预期下载文件meta”返回httperror404,表示找不到该文件(实际上它在上面的行中找到了该文件)。在

我知道如果授权设置不正确,可能会发生此问题,但我的授权设置已使我期望此操作正常

^{pr2}$

你知道为什么这个文件对API的一部分可见而另一部分不可见吗?在


Tags: 文件数据buildself功能executedataget
1条回答
网友
1楼 · 发布于 2024-07-01 08:35:08

在本例中,重要的一点是访问TeamDrive。在检索“meta”的get调用的特定情况下,需要通知API它正在使用TeamDrive

一旦我弄明白了,下面的代码就可以工作了

myfileid = 'thegooglefileid'
self.service = build('drive', 'v3', http=creds.authorize(Http()))
data = self.service.files().get_media(fileId=myfileid).execute()
meta = self.service.files().get(fileId=myfileid,fields="*",supportsTeamDrives=True).execute()

有趣的是,get需要这个参数,而get没有这个参数就可以正常工作

相关问题 更多 >

    热门问题