簡體   English   中英

使用 Java 中的批處理請求和 nextPageToken 從 Google Drive Api 獲取 1000 多個文件

[英]Get more than 1000 files from Google Drive Api using batch request and nextPageToken in Java

是否可以使用 Java 中的批處理請求和 nextPageToken 從 Google Drive Api 獲取超過 1000 個文件? 或者也許有另一種解決方案可以在 Java 中使用批處理請求獲取大量文件而無需 nextPageToken? 現在我只得到 460 個文件。

void prepareDataForGrid(final String rootFileName, UI ui) throws IOException {

    driveService = googleDriveUtils.getDriveService(ui);
    JsonBatchCallback<FileList> callback = new JsonBatchCallback<FileList>() {

        @Override
        public void onSuccess(FileList fileList, HttpHeaders httpHeaders) throws IOException {
            files = fileList.getFiles(); // get only 460 files

        }

        @Override
        public void onFailure(GoogleJsonError googleJsonError, HttpHeaders httpHeaders) throws IOException {
            throw new IOException();
        }
    };

    var batch = driveService.batch();
    driveService.files().list()
            .setQ("trashed = false")
            .setSpaces("drive")
            .setFields("nextPageToken, files(name, id, size, parents, modifiedTime, mimeType, webViewLink, createdTime)")
            .setPageSize(1000)
            .setOrderBy("name")
            .queue(batch, callback);
    batch.execute();
}

files.list方法的最大頁面大小為 1000

在此處輸入圖像描述

如果您需要其他文件,則需要在響應中使用 nextPageToken 並將其添加到以下響應的 pageToken 中。 由於這是一個接一個的請求,我認為無法通過批處理來做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM