如何使用Drive SDK列出域中的所有Google文档?

Swa*_*p L 2 java google-app-engine google-drive-api

我想列出google域名中的所有文档.我已经在google文档中尝试过提及:https: //developers.google.com/drive/v2/reference/files/list#examples

我创建的服务如下:

 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)
      .setHttpRequestInitializer(credential).build();

  Files.List request = service.files().list();
Run Code Online (Sandbox Code Playgroud)

当我执行此请求时,如下所示:

 FileList files = request.execute();
Run Code Online (Sandbox Code Playgroud)

我只得到' userEmail'(在创建服务时提供)文件.

我怎么能得到所有域谷歌驱动器文件?我使用超级管理员,但我无法得到.

Jay*_*Lee 6

要获取Google Apps域中的所有文件,您需要:

  1. 使用您的服务帐户和应用程序设置域范围的授权.
  2. 使用Directory API users.list() API调用来确定Google Apps域中的所有用户.
  3. 作为每个用户,调用files.list(q ='"我在所有者中")以获取用户拥有的所有文件的列表.

所有这些调用的组合结果将是您的Google Apps域中的所有文件.