2016-10-23 32 views
0

AndroidデバイスのGoogleドライブにあるファイルやフォルダからメタデータを取得して、deviceIDやresourceIDを取得したい場合は、そのファイルをデバイスのローカルストレージにダウンロードできます。私のアプリケーションの問題は、アプリケーションにユーザーの操作が必要ないということです。つまり、アプリケーションに名前を伝えれば、アプリケーションは各ディレクトリ内のファイルを探してダウンロードしようとします。 私はquery (link)をクイックスタートチュートリアルに従わせようとしましたが、私には既存のファイルの名前だけが返されます。AndroidのGoogleドライブでファイルやフォルダからメタデータを取得するにはどうすればよいですか?

もう一度メモ:ユーザーはファイルやフォルダを選択する必要はありません。ファイル名だけで十分です。また、ファイルやフォルダもアプリケーションによって作成されます。

+0

ファイルのメタデータにdeviceIdが含まれていますか?説明してください。 – greenapps

+0

また、ファイルをダウンロードするためにdeviceIdが必要な理由についても説明します。 – greenapps

+0

@greenapps、私はそうは確信していません。 https://developers.google.com/drive/android/metadataの情報を読み、ファイルやフォルダに関するすべての詳細が含まれていると回答しました。それはdeviceIDも含めているわけではないのですか? ファイルをダウンロードするのにdeviceIDが必要なのはなぜですか?私はGoogleドライブからファイルを取得する必要があるときに、deviceIDまたはresourceIDが必要であることを多くのサンプルが示していることがわかりました。私はそこに十分なサンプルを見つけることができず、ほとんどが彼らのフォローするのが大変であるため、ほとんど全てについてはわかりません。 –

答えて

0

Android搭載Googleドライブのファイルやフォルダからメタデータを取得するにはどうすればよいですか? Working with File and Folder Metadataによると

メタデータは、メタデータクラスにカプセル化し、タイトル、MIMEタイプ、およびファイルが編集可能であるかどうかを含めて、ファイルやフォルダに関するすべての詳細が含まれ、主演またはゴミ箱に移動されます。 DriveResource.getMetadataメソッドを呼び出すと、DriveResourceのメタデータが取得されます。リソースIDを取得する方法

/** 
* An activity to retrieve the metadata of a file. 
*/ 
public class RetrieveMetadataActivity extends BaseDemoActivity implements 
     ResultCallback { 

    @Override 
    public void onConnected(Bundle connectionHint) { 
     DriveFile file = Drive.DriveApi.getFile(getGoogleApiClient(), 
       DriveId.decodeFromString("0ByfSjdPVs9MZcEE3bzJCc3NsRkE")); 
     file.getMetadata(getGoogleApiClient()).setResultCallback(metadataRetrievedCallback); 

    } 

    ResultCallback<MetadataResult> metadataRetrievedCallback = new 
      ResultCallback<MetadataResult>() { 
     @Override 
     public void onResult(MetadataResult result) { 
      if (!result.getStatus().isSuccess()) { 
       showMessage("Problem while trying to fetch metadata"); 
       return; 
      } 
      Metadata metadata = result.getMetadata(); 
      showMessage("Metadata succesfully fetched. Title: " + metadata.getTitle()); 
     } 
    } 
} 

ここではドキュメントからの抜粋ですか?ドライブのためのAndroidのAPIに残っ

、DriveIdクラスは、リソースIDを返すメソッドgetResourceId()を持っています。

デバイスIDの取得方法は?

私はあなたがこれを得るためにAndroidドライブAPIを使用することはできないと思います。あなたが使用しようとしているfileIDとこれを間違えたようです。Download Files

Googleドライブに手動でファイルIDを検索します。

を、それがスプレッドシートファイル

https://docs.google.com/spreadsheets/d/1pE9ejBTBH38oCoOHU2O42qU6vzxagAJ9J1237dYB1Eg/edit#gid=0 

fileID -> 1pE9ejBTBH38oCoOHU2O42qU6vzxagAJ9J1237dYB1Eg 

だ場合は、DOCファイルだ場合:

https://docs.google.com/document/d/1Fh6s7an-7I6VuDBxZKcxcaU3cG1XpSryHQXGnznWlns/edit 

fileID -> 1Fh6s7an-7I6VuDBxZKcxcaU3cG1XpSryHQXGnznWlns 

あなたがパターンを取得します。これは、URL内の英数字の文字列です。

+0

こんにちは@noogui! コードの下で私を説明できますか?私はこの文字列 "0ByfSjdPVs9MZcEE3bzJCc3NsRkE"をどこで得ることができるのかほとんど分かりません。 Googleドライブのすべてのファイルを識別しますか?もしそうなら、各ファイルは同じですか?そして、私はこの文字列もどうやって得ることができますか? DriveFile file = Drive.DriveApi.getFile(getGoogleApiClient()、 DriveId.decodeFromString( "0ByfSjdPVs9MZcEE3bzJCc3NsRkE"));ファイルIDである –

+0

。 Googleドライブの各ファイルには一意のファイルID – noogui

+0

があります。どのようにしてこれらのファイルIDをファイル名で取得できますか? –

関連する問題