如何将fields参数传递给google驱动器python API调用

时间:2012-12-21 20:39:34

标签: python google-drive-api

我有:

results = drive_service.files().list(**body).execute()

其中:

body = {
    'q': query_string,
    'maxResults': 1,
}

为了提高性能,我想限制返回的字段,如下所述:https://developers.google.com/drive/performance#partial-response

如果我只是将'fields': 'id,items,title,mimeType'添加到body,我会收到错误消息。我不确定如何添加限制?

有点相关,python api会自动gzip请求吗?

4 个答案:

答案 0 :(得分:7)

API v2:

results = drive_service.files().list(fields='items(id,mimeType,title)', **body).execute()

您可以使用API​​ Explorer轻松找出字段值应该是什么样的:

https://developers.google.com/apis-explorer/#p/drive/v2/drive.files.list

API v3:

results = drive_service.files().list(fields='files(id,mimeType,name)', **body).execute()

https://developers.google.com/apis-explorer/#p/drive/v3/drive.files.list

是的,请求会自动进行gzip压缩。您可以打开http流量记录进行确认。见:

https://developers.google.com/api-client-library/python/guide/logging

答案 1 :(得分:2)

我有类似的问题,问题出在api版本。

答案 2 :(得分:0)

尝试

body = {
    'q': query_string,
    'maxResults': 1,
    'fields': 'items/id, items/title, items/mimeType',
}

body = {
    'q': query_string,
    'fields': 'items(id,title,mimeType),nextPageToken',  # if you need to get full result
}

答案 3 :(得分:0)

Drive API v3已经到货:

permissions

现在,字段名称为exclude-path=*/boost/* exclude-path=*/llvm/*