2016-10-13 7 views
0

GoogleドライブAndroid API(GDAA)を使用しています。ユーザーがファイル(Googleドキュメント、スプレッドシート、画像、動画、音声など)をドライブから取り出し、アプリサーバーに送信します。Googleドライブからファイルを選択し、Androidアプリ経由でサーバーに送信(アップロード)

私はウェブ上のいくつかのチュートリアルに続いて、GDAAを使用するための公式のGoogleドキュメントも守ってきました。

私は同様に、以下の回答を試してみました:Fetching contents of Google Drive file through FileId

をしかし、これはあまりにも動作しません。私はresult.getStatus().isSuccess()を常にfalseとしています。 私はなぜそれが理解できません。

次は私のopen()機能です:今、私はこのコードに頼っていますについて

/** 
* This is Result result handler of Drive contents. 
*/ 
final ResultCallback<DriveApi.DriveContentsResult> driveContentsCallback = 
     new ResultCallback<DriveApi.DriveContentsResult>() { 
      @Override 
      public void onResult(DriveApi.DriveContentsResult result) { 

       if (!result.getStatus().isSuccess()) { 
        return; 
       } 

       // Read from the input stream an print to LOGCAT 
       DriveContents driveContents = result.getDriveContents(); 
       BufferedReader reader = new BufferedReader(new InputStreamReader(driveContents.getInputStream())); 
       StringBuilder builder = new StringBuilder(); 
       String line; 
       try { 
        while ((line = reader.readLine()) != null) { 
         builder.append(line); 
        } 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
       String contentsAsString = builder.toString(); 
       Log.i("ContentAsString", contentsAsString); 

       // Close file contents 
       driveContents.discard(mGoogleApiClient); 
      } 
     }; 

private void open() { 
    DriveFile driveFile = mFileId.asDriveFile(); 
    driveFile.open(mGoogleApiClient, DriveFile.MODE_READ_ONLY, null) 
      .setResultCallback(driveContentsCallback); 
    mFileId = null; 
} 

そして、次は私がfalseとしてresult.getStatus().isSuccess()を取得するコールバックです。 Googleスプレッドシートとドキュメントを開くことができましたが、画像や動画だけでなくアプリのサーバーにアップロードする必要があります(ファイルを開く必要はありません)。私はこれを達成する方法はありますか?

私はStorage Access Framework(SAF)について読んでおり、Kitkat以降のGoogleドライブファイルにアクセスできるかもしれませんが、私のアプリはJellyBean以上で動作するデバイスをサポートしているため、GGDAを利用しています。

私はまだREST APIをチェックしていません。私はこれを正しい方法でやっているのか、私が望むことを達成するために全く違う方法があるのか​​を理解したい。そして、これが正しいとすれば、何がうまくいかないのでしょうか?

ご協力いただければ幸いです。

答えて

0

次の回避策を試してください:あなたの正しいSHA1を持つあなたはgenerate the correct configurationていることを確認します

  • を。
  • アプリのフォルダにあるが正しいことを確認してください。
  • Credentials pageにアクセスして、正しいプロジェクトを選択してください。これは、構成ファイルを生成するために使用したものと同じでなければなりません。
  • Credentials sectionでは、OAuth 2.0クライアントIDタイプがAndroidではなくウェブアプリケーションであることを確認してください。
  • string.xmlAPI keyがGoogle Developer Consoleのものと一致していることを確認してください。

これらの方法で問題が解決しない場合は、Google Developer Consoleの新しいプロジェクトに基づいて新しいAPIキーを作成してみてください。

関連する問題