1

자바 클라이언트 라이브러리를 사용하여 GS에서 객체를 다운로드하려고합니다. getObject.download (out)가 호출 될 때 GoogleAuthException이 발생합니다. 예외는 null입니다. 빈 파일이 디렉토리에 작성됩니다. 무슨 일이 일어나고 있는지에 대한 아이디어가 있습니까? 누구나이 libs 경험이 있습니까 ??Android에서 자바 클라이언트 라이브러리로 Google 스토리지 객체 다운로드

 GoogleAccountCredential credential= 
      GoogleAccountCredential.usingOAuth2(FirefighterLog.getInstance(), 
        "https://www.googleapis.com/auth/devstorage.read_only"); 

    credential.setAccountName(name); 

    com.google.api.services.storage.Storage storageService = 
       new com.google.api.services.storage.Storage.Builder(transport, jsonFactory, credential) 
        .setApplicationName("myApp").build(); 
    try { 
     Get getObject=storageService.objects().get("myBucket", "myObject"); 
     String appPath = FirefighterLog.getInstance().getApplicationContext().getFilesDir().getAbsolutePath(); 
     java.io.File parentDir = new java.io.File(appPath); 

     OutputStream out = new FileOutputStream(new java.io.File(parentDir,"myFileName")); 

     gettObject.getMediaHttpDownloader().setDirectDownloadEnabled(true); 
     getObject.download(out); 
     } catch (final GooglePlayServicesAvailabilityIOException availabilityException) { 
      showGooglePlayServicesAvailabilityErrorDialog(
       availabilityException.getConnectionStatusCode()); 
     } catch (UserRecoverableAuthIOException userRecoverableException) { 
      startActivityForResult(
       userRecoverableException.getIntent(), GS_AUTH_RESULT); 
     } catch (IOException e) { 

     } 

답변

1

나는 정확한 예외를 throw하지 않은 이전 버전의 GoogleAccountCredential을 사용하고 있습니다. 이것이 고쳐지면, Throw되는 예외는 UserRecoverableAuthException이고 권한의도는 불러올 수 있습니다. 지금 챔피언처럼 작동합니다.

+0

당신을 위해 일이 즐거워하는 것을 기쁘게 생각합니다! – fejta

+0

@ 패트릭이 좀 더 설명해 주시겠습니까? 안드로이드 애플 리케이션에 구글 클라우드 스토리지에서 파일을 다운로드하기위한 모든 리소스가 도움이 될 것입니다 http://stackoverflow.com/questions/15964351/which-is-the-best-way-to-use-file-storage-for-android- app-by-google-api-google –

관련 문제