Недостаточное разрешение: у запроса недостаточно областей проверки подлинности - PullRequest
0 голосов
/ 24 октября 2019

У меня проблема с обменом файлами на диске 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"
...