Java “列表可见”;新";域中的Google站点
我试图使用驱动器API和Google Java客户端库来检索“新版本”Google站点,我们域中的单个用户可以访问这些站点 我能够检索网站,但前提是用户对该网站具有“编辑”权限。如果我将用户设置为“仅查看已发布的站点”,则该站点将不会显示在结果中(请参见下面的代码片段) 我也很难从服务中检索已发布的站点url。感谢您的帮助Java “列表可见”;新";域中的Google站点,java,google-api,google-drive-api,google-api-java-client,google-sites,Java,Google Api,Google Drive Api,Google Api Java Client,Google Sites,我试图使用驱动器API和Google Java客户端库来检索“新版本”Google站点,我们域中的单个用户可以访问这些站点 我能够检索网站,但前提是用户对该网站具有“编辑”权限。如果我将用户设置为“仅查看已发布的站点”,则该站点将不会显示在结果中(请参见下面的代码片段) 我也很难从服务中检索已发布的站点url。感谢您的帮助 public Response getFiles(@PathParam("userId") String userId) throws GeneralSecurityExc
public Response getFiles(@PathParam("userId") String userId) throws GeneralSecurityException, IOException {
Drive service = GoogleServices.getDriveService(userId);
Files.List list = service.files().list()
.setOrderBy("name")
.setQ("mimeType = 'application/vnd.google-apps.site'")
.setFields("nextPageToken, files(*)")
.setPageSize(100);
for (File fileObj : files.getFiles()) {
System.out.println("fileobj:" + fileObj.toPrettyString());
}
}
public static Drive getDriveService(String userEmail) throws GeneralSecurityException,IOException {
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory jsonFactory = new JacksonFactory();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
.setServiceAccountScopes(Arrays.asList(DriveScopes.DRIVE))
.setServiceAccountUser(userEmail)
.setServiceAccountPrivateKeyFromP12File(
new java.io.File(SERVICE_ACCOUNT_PKCS12_FILE_PATH))
.build();
Drive service = new Drive.Builder(httpTransport, jsonFactory, null)
.setApplicationName("Drive Service")
.setHttpRequestInitializer(credential).build();
return service;
}
你可以查看这篇由tehhowch-回复的SO帖子。