用于搜索文件的Google驱动器V3 java api语法

时间:2017-07-20 03:47:51

标签: java google-drive-api drive

我的问题是 - 如何将搜索参数传递给方法。我找不到任何搜索文档或样本。任何示例都适用于我。

源代码

      String npTok = null;
      String queryParam ="modifiedTime > '2012-06-04T12:00:00' and (mimeType 
      contains 'image/' )";
      com.google.api.services.drive.Drive.Files.List qry =    drive.files().list().setFields("files(id, name)").setQ(queryParam);

        com.google.api.services.drive.model.FileList gLst = qry.execute();
        for (com.google.api.services.drive.model.File gFl : gLst.getItems())
        { 
            String id = gFl.getId();
            System.out.println("ID==>"+id);
        } 

错误

{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "location" : "fields",
    "locationType" : "parameter",
    "message" : "Invalid field selection name",
    "reason" : "invalidParameter"
  } ],
  "message" : "Invalid field selection name"
}

全部谢谢

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

错误消息反对fields参数,而不是q。您的语法对于v3是正确的,因此我怀疑您的客户端库仍在使用v2。尝试将files(id,name)替换为items(id,title)。如果可行,那么您使用的是旧版本的库。