2015-04-07 51 views
2

我想列出从谷歌domain.I所有的文件都尝试了按提到谷歌文档: https://developers.google.com/drive/v2/reference/files/list#examples如何使用Drive SDK列出域中的所有Google文档?

我已创建了服务如下:

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(); 

当我执行这个要求如下:

FileList files = request.execute(); 

我只是 'userEmail' 得到的文件(在创建服务提供)。

我怎样才能得到所有域的谷歌驱动器文件?我用超级管理员,但我无法得到。

回答

5

要获得您的谷歌Apps域,你需要的所有文件:

  1. 设置domain-wide delegation of authority与您的服务帐户和应用程序。
  2. 使用目录API users.list() API调用来确定Google Apps域中的所有用户。
  3. 作为每个用户,请致电files.list(q='"me" in owners')以获取用户拥有的所有文件的列表。

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

1

您不能:)因为Google Drive文件所有权逻辑以用户为中心。

您只能列出用于调用API的用户的“我的驱动器”中的文件。

相关问题