アプリケーション所有アカウントを使用してファイルを作成しています。ただし、ファイルの所有権を他のユーザーに譲渡したいと考えています。以下のコードは機能しますが、アクセス許可の設定は無視されるため、私はファイルの所有者ではありません。ファイルの所有権はアプリケーション所有アカウントのままであるため、ファイルを完全に削除することはできません。
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("xxx@xyz.com");
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);
}
}
アクセス許可の設定が無視される理由を特定するための助けを歓迎します。