Папки, созданные в учетной записи службы, не отображаются в веб-приложении Google Drive - PullRequest
1 голос
/ 21 мая 2019

Невозможно просмотреть папки, созданные с помощью Google API на диске Google. Я использую сервисную учетную запись JSON для подключения к Google Drive. Я вижу файлы, созданные с использованием API, но не могу просматривать папки, созданные с помощью API. "

Подключение к Google Drive с использованием учетной записи службы

             GoogleCredential cr = GoogleCredential
            .fromStream(new FileInputStream(CREDENTIALS_FILE_PATH))
            .createScoped(SCOPES);
             GoogleCredential builder = new GoogleCredential.Builder()
            .setTransport(HTTP_TRANSPORT)
            .setJsonFactory(JSON_FACTORY)
            .setServiceAccountScopes(SCOPES)
            .setServiceAccountId(cr.getServiceAccountId())
            `enter code here` 

            .setServiceAccountPrivateKey
            (cr.getServiceAccountPrivateKey())

            .setServiceAccountPrivateKeyId
             (cr.getServiceAccountPrivateKeyId())
            .setTokenServerEncodedUrl(cr.getTokenServerEncodedUrl())
            .setServiceAccountUser(cr.getServiceAccountUser()).build();

=============================================== =======================

Создание папки с использованием API ниже

                File fileMetadata = new File();
                fileMetadata.setName("TestFolder");
                fileMetadata.setMimeType("application/vnd.google- 
                apps.folder");

                File file1 =
                service.files().create(fileMetadata).setFields("id, 
                name").execute();

Я вижу, как создается идентификатор папки, но когда я захожу на диск Google, на диске Google нет папок

1 Ответ

0 голосов
/ 21 мая 2019

Что вам нужно помнить, так это то, что служебная учетная запись - это не вы. Сервисная учетная запись является фиктивным пользователем. У него есть собственная учетная запись Google Drive. при загрузке файлов в учетную запись диска служебных учетных записей они доступны только этой учетной записи, поскольку она является ее владельцем.

Поделиться диском

Вы можете создать диск в своей учетной записи на диске Google и поделиться этим каталогом с адресом электронной почты учетных записей служб. Затем служебная учетная запись может загрузить на этот диск (родительский) идентификатор. Затем файлы на этом диске появятся, убедитесь, что у вас есть служебная учетная запись, предоставившая разрешения вашей учетной записи Google для этого файла.

Поделиться файлом

Если вы хотите оставить файл в учетной записи диска учетной записи службы, то вы можете просто попросить служебную учетную запись предоставить ему доступ к файлу, после чего он появится как общий файл в вашей учетной записи на диске Google.

1011 * обмен * Откройте веб-сайт Google Drive, щелкните правой кнопкой мыши каталог или файл, которым вы хотите поделиться, и нажмите Отправить. Возьмите адрес электронной почты учетных записей служб и поделитесь им с этим. Затем он будет иметь доступ к этому каталогу. enter image description here

...