1

私はAndroidコードで次のコードを使用しています。ここからhttps://developers.google.com/drive/v2/reference/files/get

すべて問題ありません。file.getDownloadUrl()はnullではなく、非常に長いURLです。

しかし、HttpResponse応答を取得するときにエラー401が発生します。

何が問題ですか?

GoogleDriveにすべてのファイルを一覧表示し、fileId、さらにはfile.getDownloadUrl()を取得できるため、すでに承認されていると思います。私のOAuth2.0スコープはDRIVEです。

11-26 06:40:37.614: W/System.err(15750): com.google.api.client.http.HttpResponseException: 401 Unauthorized
11-26 06:40:37.614: W/System.err(15750):    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1062)

コード:

  /**
       * Download a file's content.
       *
       * @param service Drive API service instance.
       * @param file Drive File instance.
       * @return InputStream containing the file's content if successful,
       *         {@code null} otherwise.
       */
      private static InputStream downloadFile(Drive service, File file) {
        if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0) {
          try {
            HttpResponse resp =
                service.getRequestFactory().buildGetRequest(new GenericUrl(file.getDownloadUrl()))
                    .execute();  //--ERROR HERE--
            return resp.getContent();
          } catch (IOException e) {
            // An error occurred.
            e.printStackTrace();
            return null;
          }
        } else {
          // The file doesn't have any content stored on Drive.
          return null;
        }
      }

LogCat:

11-26 06:50:04.638: I/fileId(16350): 0B2PmmdZsG0kJUTFNcWNaam9KLVE

11-26 06:50:07.896: I/file.getDownloadUrl()(16350): https://doc-0s-8g-docs.googleusercontent.com/docs/securesc/3l0k423jsgncap9ihfdfv9kb388vqac9/glhd2gbkatjpv4cb60383pc8b127o0l2/1353873600000/11834093636053924840/11834093636053924840/0B2PmmdZsG0kJUTFNcWNaam9KLVE?h=16653014193614665626&e=download&gd=true
4

2 に答える 2

1

パラメータが許可serviceしたインスタンスであることを確認してください。Driveそうでない場合はbuildGetRequest、認証ヘッダーを認識していないため、認証ヘッダーを追加できません。

于 2012-11-26T10:56:29.943 に答える
1

これを機能させるには、OAuth2.0トークンを認証ヘッダーに追加する必要があります。次のようになりますAuthorization: Bearer ya29.AHES6...

于 2012-11-26T13:10:46.493 に答える