我们注意到 Google Drive API Javascript允许您列出特定文件夹中的所有文件,但它只带来文件的基本细节。如果我们想了解更多信息,例如文件名,我们需要为每个文件再次查询 API。有没有一种方法可以列出文件的更多详细信息,例如来自单个文件夹列表查询的文件名?
谢谢
我们注意到 Google Drive API Javascript允许您列出特定文件夹中的所有文件,但它只带来文件的基本细节。如果我们想了解更多信息,例如文件名,我们需要为每个文件再次查询 API。有没有一种方法可以列出文件的更多详细信息,例如来自单个文件夹列表查询的文件名?
谢谢
我猜你使用了 Children.list()。它只列出了不是您想要的功能的孩子的 id。您应该使用带有参数 q="'{{FOLDER_ID}}' in parents" 的Files.list(),它会列出您想要的特定文件夹的所有文件及其子文件夹的详细信息。
我为这个问题做了很多谷歌搜索,但答案就在这里。您必须像我使用的那样使用以下代码片段:
Files.List request = mService.files().list().setQ("'Your Folder ID Here' in parents");
FileList files = request.execute();
if (files != null) {
for (File file : files.getItems()) {
// Meta data
Log.i("", "Title: " + file.getTitle());
Log.i("", "Description: " + file.getDescription());
Log.i("", "MIME type: " + file.getMimeType());
}
}
我相信它会为你工作。
使用 googleApis V3 你可以做到。这是示例代码:
string FolderId = "1lh-YnjfDFMuPVisoM-5p8rPeKkihtw9";
// Define parameters of request.
FilesResource.ListRequest listRequest = DriveService.Files.List();
listRequest.PageSize = 10;
listRequest.Q = "'" + FolderId + "' in parents and trashed=false";
listRequest.Fields = "nextPageToken, files(*)";
// List files.
IList<Google.Apis.Drive.v3.Data.File> files = listRequest.Execute()
.Files;
希望这有帮助。
不用担心这个问题,很简单。如果您想从特定文件夹中获取所有文件和文件夹,那么只需将此代码复制并粘贴到您的项目中,它将从特定文件夹中检索所有文件和文件夹。注意:您应该有自己的文件夹 ID
List<File> result = new ArrayList<File>();
Files.List request = null;
try {
request = mService.files().list();//plz replace your FOLDER ID in below linez
FileList files = request.setQ("'"+MyFoler_Id+"'in parents and trashed=false").execute();
result.addAll(files.getItems());
request.setPageToken(files.getNextPageToken());
}
catch (IOException e)
{
System.out.println("An error occurred: " + e);
request.setPageToken(null);
}
//打印出我们检索到的文件和文件夹标题。
for(File f:result)
{
System.out.println("My recvd data "+f.getTitle());
}