无法查看在Google驱动器中使用Google API创建的文件夹。我正在使用服务帐户json连接到Google驱动器。我可以看到使用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();


我可以看到正在创建文件夹ID,但是当我登录google drive时,google drive中没有文件夹

最佳答案

您需要记住的是,服务帐户不是您。服务帐户是虚拟用户。它有自己的Google云端硬盘帐户。当您将文件上传到服务帐户驱动器帐户时,只有该帐户可以访问,因为它是该帐户的所有者。

共享驱动器

您可以在Google驱动器帐户上创建一个与服务帐户电子邮件地址共享该目录的驱动器。然后,服务帐户可以上传到该驱动器(父)ID。然后,文件将出现在该驱动器中,确保您已将服务帐户授予该文件的google帐户权限。

分享档案

如果您想将文件保留在服务帐户驱动器帐户上,则只需让服务帐户与您共享文件,然后它将在您的Google驱动器帐户中作为共享文件弹出。

分享

打开Goog​​le云端硬盘网站,右键单击要共享的目录或文件,然后单击共享。获取服务帐户的电子邮件地址并与之共享。然后它将有权访问该目录。

java - 服务帐户创建的文件夹未出现在Google Drive Web应用程序中-LMLPHP

09-10 14:37
查看更多