2016-11-10 5 views
2

私はこの時点でGoogle Drive APIのドキュメントが不足しているため非常に不満で、Xamarinを使用しています。 Xamarin.GooglePlayServices.Driveパッケージをインストールしたところ、正常に動作しています。私の問題に早急に進むので、私はファイルを照会し、成功してDriveIDを得ることができます。私のDriveFileオブジェクトにはopen()メソッドはありません

だから私のコードは次のとおりです。

DriveFile file = DriveId.AsDriveFile(); 
//And here I want to use the method file.Open(...); 

DriveFileオブジェクトは、それに利用できる持っている唯一の方法は、例えばObject方法デフォルトでありますToString(),Equals(),GetType()およびGetHashCode()。私は間違って何かをしています、なぜ他の人がそれにアクセスすることに問題がないので、私はこのメソッドにアクセスできません。 https://developers.google.com/drive/android/files

Xamarinを使用してこの男はメソッドを使用して問題ありません:Xamarin: Unsure what to cast using DriveFile.Open

任意の助けが理解されるであろう

Googleが、私はそれを使用しなければならないと言います。また、(別の方法を使用してダウンロードするために)役立つ場合、私はファイルのメタデータにアクセスすることができます

+0

ドライブライブラリは、ドライブに保存されているファイルにアクセスするのに役立ちます。私はそれがオープンな方法を持つことになるとは思っていません。おそらくメタデータを使用してダウンロードし、次に独自の公開メソッドをコーディングする必要があります。 – DaImTo

+0

クイック返信@DalmToありがとうございます。ドキュメントによれば、APIにはOpenメソッドがあるはずです(最初のリンク)。唯一の理由は、Xamarinライブラリがそのメソッドをバインドしていない場合です(私が2番目のリンクに出会えなかった場合は私が受け入れます)。明らかにするには、openメソッドはファイルストリームをオープンせず、ドキュメントにしたがって "ローカルに同期されたファイルリソースを取得して開きます。ファイルがローカルストレージに同期されていない場合、ドライブサービスからファイルを取得しますあなたの最初のリンクはXamarinではありませんアンドロイドです – CrimsonSage

+0

を読み取る "DriveContentsリソースを返します"。私はXamarinとたくさんのことをしたが、2つの異なる事を思い出した。私が使用したXamarinライブラリは基本的に.Netクライアントライブラリです。より多くのXamarin知識を持つ人を待つ方が良いかもしれません。興味深いことに、アンドロイドライブラリを使うこともできます。 – DaImTo

答えて

-1

私の問題の解決策が見つかりました。それはクラスの混乱する名前でした。 DriveFileは、操作の種類の列挙型のクラスの名前です。 IDriveFileインターフェイスは、Openメソッドを含む実際のインターフェイスです。そこで、私が値をvarとして保存したところで、Openメソッドを得ることができました。

var file = onlineFiles[i].DriveId.AsDriveFile(); 
file.Open(_googleApiClient, DriveFile.ModeReadOnly, null).SetResultCallback(this); 
関連する問題