У меня проблема с обменом файлами на диске Google. Я использую этот метод
OAuth работает очень хорошо, я могу вернуть файлы и папки, но я не могу изменить разрешение для обмена, и это моя большая проблема сейчас, и я понятия не имею, почему
JsonBatchCallback<Permission> callback = new JsonBatchCallback<Permission>() {
@Override
public void onFailure(GoogleJsonError e,
HttpHeaders responseHeaders)
throws IOException {
// Handle error
System.err.println(e.getMessage());
}
@Override
public void onSuccess(Permission permission,
HttpHeaders responseHeaders)
throws IOException {
System.out.println("Permission ID: " + permission.getId());
}
};
BatchRequest batch = service.batch();
Permission userPermission = new Permission()
.setType("user")
.setRole("reader")
.setEmailAddress("mail@gmail.com");
service.permissions().create(file_id, userPermission)
.setFields("id")
.queue(batch, callback);
batch.execute();
Это ответ
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "Insufficient Permission: Request had insufficient authentication scopes.",
"reason" : "insufficientPermissions"
} ],
"message" : "Insufficient Permission: Request had insufficient authentication scopes."
}
Это мои возможности
Collections.singletonList(DriveScopes.DRIVE); //"https://www.googleapis.com/auth/drive"