gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 09:38:25 25 4
gpt4 key购买 nike

无法在 Google 云端硬盘中查看使用 Google API 创建的文件夹。我正在使用服务帐户 json 连接到谷歌驱动器。我可以看到使用 api 创建的文件,但无法查看使用 api 创建的文件夹。”

使用服务帐户连接到 Google 云端硬盘

             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 云端硬盘时,Google 云端硬盘中没有文件夹

最佳答案

您需要记住的是,服务帐户不是您。服务帐户是虚拟用户。它有自己的谷歌驱动器帐户。当您将文件上传到服务帐户驱动器帐户时,这些文件只能由该帐户访问,因为该帐户是该帐户的所有者。

共享驱动器

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

共享文件

如果您想将文件保留在服务帐户驱动器帐户上,那么您只需让服务帐户与您共享该文件,然后该文件就会在您的 Google 云端硬盘帐户中作为共享文件弹出。

分享

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

enter image description here

关于java - 服务帐户创建的文件夹不会出现在 Google Drive Web 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56230446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com