下午好!
我有麻烦访问谷歌团队驱动器。
我需要创建文件夹并从本地存储上传文件,所有这些都应该由我的应用程序完成。
目前,我已经学会了连接到我的个人谷歌硬盘,并在那里上传文件。我的个人存储连接代码:
Drive service = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential) //
.setApplicationName(APPLICATION_NAME).build();
// Print the names and IDs for up to 10 files.
FileList result = service.files().list().setPageSize(10).setFields("nextPageToken, files(id, name)").execute();
List<File> files = result.getFiles();
if (files == null || files.isEmpty()) {
System.out.println("No files found.");
} else {
System.out.println("Files:");
for (File file : files) {
System.out.printf("%s (%s)\n", file.getName(), file.getId());
}
}
告诉我,我如何连接到java中的Google Team Drive并在那里上传文件?谢谢:)
假设您已经满足了先决条件,即
您的代码应该是这样的:
private static final String APPLICATION_NAME = "YOUR APPLICATION";
private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
private static final List < String > SCOPES = Collections.singletonList("XXXINSERTHEREYOURSCOPEXXXX");
public static void main(String...args) throws IOException, GeneralSecurityException {
final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
File pk12 = new File("quickstartserv.p12");
String serviceAccount = "EMAIL FO YOUR SERVICE ACCOUNT.iam.gserviceaccount.com";
// Build service account credential.Builder necessary for the ability to refresh tokens
GoogleCredential getCredentials = new GoogleCredential.Builder()
.setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(serviceAccount)
.setServiceAccountPrivateKeyFromP12File(pk12)
.setServiceAccountScopes(SCOPES)
.setServiceAccountUser("xxx") //IF YOU WANT TO IMPERSONATE A USER
.build();
// Build a new authorized API client service.
Drive service = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials)
.setApplicationName(APPLICATION_NAME)
.build();
FileList result = service.files().list().setPageSize(10).setQ('"ID OF THE SHARED DRIVE" in parents').setIncludeTeamDriveItems(true).setSupportsTeamDrives(true).setFields("nextPageToken, files(id, name)").execute();
...
}
要从共享驱动器中检索文件,请注意setAccdeTeamDriveItem(true)
和setSupportsTeamDrives(true)
是必需的。
我正在尝试使用服务帐户访问目录API(https://developers.google.com/admin-sdk/Directory/v1/reference/users/list)。最简单的任务是列出组织中的用户。通过OAuth2.0 PlayGorund测试,这在我的用户帐户中运行良好。但我需要使用服务帐户。我正在阅读关于双腿OAuth(https://developers.google.
是否可以使用服务帐户访问Google Admin Report SDK? 我有一个非常基本的例子,我正在尝试运行,我总是得到一个400错误返回。我已经验证了密钥和服务ID是正确的,我甚至已经将权限委托给这个服务帐户。难道这就是不可能吗?有人有什么想法吗? 返回的错误如下: {“代码”:401,“错误”:[{“domain”:“global”,“location”:“authorization”,“
我正在尝试使用三个虚拟机(Master–10.x.x.4、Node1–10.x.x.150、Node2–10.x.x.160)创建Kubernetes集群。 我能够通过此链接成功创建留言簿应用程序:http://kubernetes.io/v1.0/examples/guestbook/.我只对frontend-service.yaml做了一个更改:使用NodePort。我可以使用节点IP和端口号
注意:驱动器文件夹“12 ccq 1 ggotydw _ ox 09 tzf 5 bdgapajb 0 ar”已与服务帐户电子邮件ID共享。 以下是控制台日志的一些结果,反映了失败的位置。 token * * * * * * * * * { " access _ token ":" * * * * * * * * * * * * * "," token_type":"Bearer "," expi
我们正在尝试创建一个与谷歌管理SDK的集成,以便能够检索,更新和创建帐户在我们的领域。但是,我们不断收到一个403错误,表明我们没有被授权访问Resource/API。 我们正在使用从一个服务帐户获得的凭据,该帐户启用了域范围的授权,并且具有以下两个作用域:https://www.googleapis.com/auth/admin.directory.user.readonly,https://w
问题内容: 我们在使用服务帐户访问代理商API时遇到问题。具有客户机密的示例运行良好,但是我们需要将其部署在k8s(Kubernetes Engine)中,而无需定期刷新oauth会话(尤其是执行一次,因为在docker容器中有点难)。 尽管有很多关于如何使用python进行操作的文档,但我们找不到使用服务帐户进行访问的任何方法。 我们尝试了两个帐户,一个为默认计算引擎,一个为我们的用例直接创建。