我正在使用應用程序擁有帳戶來創建文件。但是,我希望文件的所有權轉移給其他用戶。下面的代碼工作,但權限設置被忽略,所以我不是該文件的所有者。文件所有權保留在應用程序擁有賬戶中,因此無法永久刪除文件。創建文件時忽略權限設置
public File uploadEmptyFile(String title, String subFolderName, String mimetype) throws GDriveAccessException {
File fileMetadata = new File();
fileMetadata.setTitle(title);
fileMetadata.setMimeType(mimetype);
Permission newPermission = new Permission();
newPermission.setValue("[email protected]");
newPermission.setType("user");
newPermission.setRole("owner");
fileMetadata.setUserPermission(newPermission);
if (subFolderName==null){
fileMetadata.setParents(Arrays.asList(new ParentReference().setId(FOLDER_ID)));
}else{
fileMetadata.setParents(Arrays.asList(new ParentReference().setId(getFileIdByFolderNName(null,subFolderName))));
}
File faux=null;
try {
faux= getDrive().files().insert(fileMetadata).execute();
return faux;
} catch (IOException e1) {
throw new GDriveAccessException(e1);
}
}
任何幫助確定權限設置被忽略的原因是值得歡迎的。
我收到出錯:com.google.api.client.googleapis.json.GoogleJsonResponseException:500 { 「代碼」:500, 「錯誤」:[{ 「域」: 「全局」, 「message」:「Internal Error」, 「reason」:「internalError」 }], 「message」:「Internal Error」 }是否可以將所有權轉移出域?如果是這樣,則不存在解決方案,因爲應用程序專用帳戶始終是@ developer.gserviceaccount.com – lanzalibre