Java 使用基于两条腿oAuth的驱动器API列出文件时无法获取ExportLInks

Java 使用基于两条腿oAuth的驱动器API列出文件时无法获取ExportLInks,java,google-drive-api,google-oauth,Java,Google Drive Api,Google Oauth,我在使用GoogleDrive API列出GoogleApps用户的文件时遇到了一个问题 public void getFiles(String serviceAccount) throws Exception { GoogleCredential credential = new GoogleCredential.Builder() .setTransport(httpTransport) .setJsonFactory(jsonFact

我在使用GoogleDrive API列出GoogleApps用户的文件时遇到了一个问题

public void getFiles(String serviceAccount) throws Exception {
    GoogleCredential credential = new GoogleCredential.Builder()
            .setTransport(httpTransport)
            .setJsonFactory(jsonFactory)
            .setServiceAccountId(serviceAccount)
            .setServiceAccountScopes(Collections.singleton(DriveScopes.DRIVE))
            .setServiceAccountUser("xxx@xxx.com")
            .setServiceAccountPrivateKeyFromP12File(new java.io.File(new URI(ServiceTest.class.getClassLoader().getResource("googledrive.p12").toString())))
            .build();

    credential.refreshToken();

    Drive service = new Drive.Builder(httpTransport, jsonFactory, null)
         .setHttpRequestInitializer(credential).setApplicationName("GoogleDrive").build();

    FileList result = service.files().list().setMaxResults(1000).execute();
    List<File> files = result.getItems();
    if (files != null && files.size() > 0) {
        for (File file : files) {
            System.out.println(file.getTitle()+","+file.getId()+","+file.getExportLinks());
        }
    }
}
public void getFiles(String serviceAccount)引发异常{
GoogleCredential credential=新建GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(服务帐户)
.setServiceAccountScopes(集合.singleton(DriveScopes.DRIVE))
.setServiceAccountUser(“xxx@xxx.com")
.SetServiceAccountPrivateKeyFromp12文件(新的java.io.File(新的URI(ServiceTest.class.getClassLoader().getResource(“googledrive.p12”).toString()))
.build();
credential.refreshtToken();
驱动器服务=new Drive.Builder(httpTransport,jsonFactory,null)
.setHttpRequestInitializer(凭证).setApplicationName(“GoogleDrive”).build();
FileList结果=service.files().list().setMaxResults(1000.execute();
List files=result.getItems();
if(files!=null&&files.size()>0){
用于(文件:文件){
System.out.println(file.getTitle()+”、“+file.getId()+”、“+file.getExportLinks());
}
}
}
响应很好,我可以成功地获取所有文件,包括fileid、fiename、parentid。。。。 但是所有文件的exportLinks都是空的(当我使用三条腿的oAuth时,这些文件中的大多数都有exportLinks)


有人能帮我吗?

我试图复制这个问题,但我得到了文件的导出链接,即使使用服务帐户也是如此。您是否仅在某些文件类型中看到此问题?我试图复制此问题,但我正在获取文件的导出链接,即使使用服务帐户也是如此。您是否只看到某些文件类型的文件?