查询基于mimeType的文件时出现意外的搜索结果 - Google Drive API v3 + Javascript

时间:2016-10-27 11:46:11

标签: google-drive-api

我正在尝试使用Javascript API(v3)搜索Google Drive for Excel文件。有些Excel文件似乎有mime类型的'application / vnd.ms-excel',有些则有mime类型'application / vnd.openxmlformats-officedocument.spreadsheetml.sheet'。

当我使用mime类型'application / vnd.ms-excel'时,会正确返回具有该mime类型的文件。但是,当我使用mime类型'application / vnd.openxmlformats-officedocument.spreadsheetml.sheet'时,我得到了大量不相关的结果(使用mime类型,如'x-javascript','x-markdown',甚至'image / PNG')。

这是一个错误还是我做错了什么? 任何帮助将不胜感激!感谢。

这是我的代码:

function getItemsByQuery(query, callback) {

    var retrievePageOfFiles = function(request, result) {
        request.execute(function(resp) {
            result = result.concat(resp.files);
            var nextPageToken = resp.nextPageToken;
            if (nextPageToken) {
                request = gapi.client.drive.files.list({ 'pageToken': nextPageToken });
                retrievePageOfFiles(request, result);
            }
            else {
                result.length > 0 ? callback(result) : callback([]);
            }
        });
    };

    var q = {'q': query };
    var initialRequest = gapi.client.drive.files.list(q);
    retrievePageOfFiles(initialRequest, []);
}

getItemsByQuery("trashed=false and mimeType='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'", function(results) {
    // Handle results - lots of irrelevant files returned here.
});

1 个答案:

答案 0 :(得分:0)

在使用q字段重建查询时,您似乎忘记添加pageToken字段。

相关问题