我正在从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();
编辑:如果我在没有批处理的情况下直接使用执行它就可以工作......听起来像个错误。
答案 0 :(得分:0)
您可以尝试以下操作:
service.files().update
(
fileId='fileId',
removeParents='source folder id',
addParents='target folder id'
).execute();