1

Java クライアント ライブラリを使用して GS からオブジェクトをダウンロードしようとしています。getObject.download(out) が呼び出されると、GoogleAuthException がスローされます。例外はヌルです。ディレクトリに空のファイルが作成されます。何が起こっているかについてのアイデアはありますか?誰でもこれらのライブラリの経験がありますか??

     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) {

        }
4

1 に答える 1

1

正しい例外をスローしなかった古いバージョンの GoogleAccountCredential を使用していたことがわかりました。これが修正されると、スローされる例外は UserRecoverableAuthException になり、アクセス許可インテントを起動できるようになりました。今ではチャンピオンのように機能します。

于 2012-12-01T06:33:44.560 に答える