无法使用Drive API v3更改父级

问题描述 投票:0回答:1

我正在从Google Drive API V2迁移到V3。基本上,我正在复制文件,重命名它,然后尝试将其移动到另一个文件夹。复制和重命名工作正常,但是父级更改不起作用。您可以在下面找到一个代码片段。

    Drive service = getDriveService("USERID");
    BatchRequest batch = service.batch();

    // I CREATE A COPY OF A FILE AND THEN I RENAME IT
    String documentID = ... // THE ID OF THE DOCUMENT I JUST CREATED
    // THEN I CHANGE PARENTS

    File newDocumentUpdateRemoveParents = new File();
    service.files().update(documentID, newDocumentUpdateRemoveParents).setRemoveParents("ORIGINALFOLDERID").queue(batch, new JsonBatchCallback<File>() {
        public void onSuccess(File content, HttpHeaders responseHeaders) {

        }
        public void onFailure(GoogleJsonError error, HttpHeaders responseHeaders) {

        }
    });

    File newDocumentUpdateAddParents = new File();
    service.files().update(documentID, newDocumentUpdateAddParents).setAddParents("NEWFOLDERID").queue(batch, new JsonBatchCallback<File>() {
        public void onSuccess(File content, HttpHeaders responseHeaders) {

        }
        public void onFailure(GoogleJsonError error, HttpHeaders responseHeaders) {

        }
    });

    batch.execute();

编辑:如果我直接使用execute而没有批处理,则可以正常工作...听起来像个bug。

java google-api google-drive-api
1个回答
0
投票

您可以尝试以下方法:

service.files().update
(
   fileId='fileId',
   removeParents='source folder id',
   addParents='target folder id'
).execute();
© www.soinside.com 2019 - 2024. All rights reserved.