Android 如何在google服务帐户的驱动器中下载文件 我可以使用com.google.api.services.drive.插入/上传以及列出我的google服务帐户中的文件。drive.files().list() 但是,当我使用getDownloadUrl()下载文件时,我会在外部下载器/浏览器中收到(无效登录凭据)消息 或者,即使我通过我的应用程序下载,我也会得到java.io。FileNotFoundException

Android 如何在google服务帐户的驱动器中下载文件 我可以使用com.google.api.services.drive.插入/上传以及列出我的google服务帐户中的文件。drive.files().list() 但是,当我使用getDownloadUrl()下载文件时,我会在外部下载器/浏览器中收到(无效登录凭据)消息 或者,即使我通过我的应用程序下载,我也会得到java.io。FileNotFoundException,android,google-drive-api,service-accounts,Android,Google Drive Api,Service Accounts,这是我的密码: public void getDriveService() throws GeneralSecurityException, IOException, URISyntaxException { HttpTransport httpTransport = new NetHttpTransport(); JacksonFactory jsonFactory = new JacksonFactory(); ArrayList<String> scop

这是我的密码:

public void getDriveService() throws GeneralSecurityException, IOException, URISyntaxException {
    HttpTransport httpTransport = new NetHttpTransport();
    JacksonFactory jsonFactory = new JacksonFactory();
    ArrayList<String> scopes = new ArrayList<String>();
    scopes.add(DriveScopes.DRIVE);
    scopes.add(DriveScopes.DRIVE_APPDATA);
    GoogleCredential credential = new GoogleCredential.Builder()
            .setTransport(httpTransport)
            .setJsonFactory(jsonFactory)
            .setServiceAccountId("akh....@smart-spark-13..5.iam.gserviceaccount.com")
            .setServiceAccountScopes(scopes)
            .setServiceAccountPrivateKeyFromP12File(File p12)
            .build();

    com.google.api.services.drive.Drive service = new com.google.api.services.drive.Drive.Builder(httpTransport, jsonFactory, null)
            .setHttpRequestInitializer(credential)
            .build();
    //return service;
    mydrive = service;
    }
public void getDriveService()抛出GeneralSecurityException、IOException、URI语法Exception{
HttpTransport HttpTransport=新的NetHttpTransport();
JacksonFactory jsonFactory=新JacksonFactory();
ArrayList范围=新的ArrayList();
添加(DriveScopes.DRIVE);
添加(DriveScopes.DRIVE\u APPDATA);
GoogleCredential credential=新建GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccount(“akh..@smart-spark-13..5.iam.gserviceaccount.com”)
.setServiceAccountScopes(范围)
.SetServiceAccountPrivateKeyfromP12文件(文件p12)
.build();
com.google.api.services.drive.drive service=new com.google.api.services.drive.Builder(httpTransport,jsonFactory,null)
.setHttpRequestInitializer(凭证)
.build();
//回程服务;
mydrive=服务;
}
这可能与文件权限有关,但我可以使用getThumbnailUrl()查看文件的缩略图链接,但通过getDownloadUrl()下载时会引发异常; 在哪里

  • 缩略图链接的形式如下:
  • 下载url的格式如下:

找到了解决方案。。可以使用httpsresponse.getContent()下载文件的元内容;