1

私のアプリでは、クラウド サービスは Google ドライブ (以前の Google ドキュメント) によって提供され、Google ドキュメントと対話します。このライブラリを使用します。

http://code.google.com/p/google-api-java-client/

うまく機能しますが、デバイスにGoogle Apiがあり、Googleアカウントが設定されている必要があります

このライブラリを使用せずに Google ドキュメントで認証する他の方法はありますか? または、クラウド プロバイダーを Dropbox に移行する必要がありますか?

ありがとうございました

4

1 に答える 1

1

最善の策は、(部分的に) モバイル デバイス用に設計されたクライアント側フローを使用して OAuth 2.0 を使用することです。

基本的には、Web ビューを使用してユーザーを OAuth 2.0 付与ページにリダイレクトし、データへのアクセスが許可されたら、次のようにするだけです。

  • Web ビュー内で認証コードをキャッチする
  • Web ビューを閉じる
  • リフレッシュ用の認証コードとアクセス トークンを交換する
  • API への無制限のアクセスが可能になるため、更新トークンをローカル データベースに保持します => 認証フローをトリガーする必要がなくなります。

それでおしまい!新しく取得した OAuth 2.0 アクセス トークンとリフレッシュ トークンを使用すると、ユーザーに代わってユーザーのドライブ データにアクセスし、API を使用するために必要なものがすべて手に入ります。Android アカウント マネージャーを回避しました。

Android 向けの OAuth 2.0 / Web View クライアント ライブラリがどこかで利用できるようになる可能性もあります。

PS: この手法は広く使用されています。たとえば iOS で Facebook ライブラリを使用している場合、最初に Facebook アプリがインストールされているかどうかがチェックされます。Facebook アプリがインストールされていない場合、OAuth 2 と Web ビュー技術が自動的に使用されます。Google の Objective-C クライアント ライブラリもその手法を使用しています (私が聞いた限りでは、使用したことはありません)。

于 2012-06-03T00:38:34.640 に答える