OAuth 1.0aを使用してAndroidアプリケーションをOAuth 2.0に移行しようとしています。 (Java/Android用のGoogle APIクライアントライブラリをOAuth 2.0のニーズに合わせて使用する)。AndroidでOAuth 2.0を使用してGoogle APIを使用する最善の方法
使いやすさの側面も考慮したAndroidプラットフォームでOAuth 2.0を使用してGoogle APIにアクセスするための最良の/推奨の解決策は何ですか?ユーザーはAndroidアプリとシームレスに統合して簡単にアクセスを自動化できるはずです。
アプリケーションは現在、OAuth 1.0 Webベースのフローを使用しています。ここでは、アプリケーションがブラウザをポップしてユーザーにアクセスを許可し、カスタムリダイレクトURIを使用すると、アプリケーションはアクセストークンを取得できます。それはかなりうまくいくが、Webページを表示するためにブラウザをポップするために私のアプリケーションを残す必要があるという事実は気に入らなかった。私はOAuth 2.0がこれを回避し、より良いユーザーエクスペリエンスを可能にすると考えていました。
ウェブブラウザーはなく、Androidと密接に結びついているので、私はAdroid AccountManager-OAuth2 integration as outlined at Google IOを見ていましたが、それは単にそれほどうまくいきません。それは文書化されておらず、未来のために実行可能な選択肢が残るかどうか不明である。
標準のOAuth 2.0 Webフローを調査し始めました。ここで
私は2つのオプション持っているように見える:インストール済みアプリとして
設定OAuth 2.0のクライアントを、そして壷を使用:IETF:WG:OAuthの:2.0:OOB URIをリダイレクトします。
私のユーザーにコピーしてアプリにコードを貼り付けさせることはありません。これはユーザーフレンドリーではありません。
Using OAuth 2.0 to Access Google APIs docs URLを解析するためにページのタイトルをポーリングする方法がいくつかありますが、それに多くのユーザビリティの問題もあります。この種の配管コード。クライアントライブラリが存在すれば、私のためにそれを行うことができます。私はこれをさらに調査してうれしいですが、今はこのオプションを削除しました。
OAuth 2.0クライアントをWebアプリケーションとして設定し、リダイレクトURIを使用します。
OAuth 2.0では非標準スキームが禁止されています。以前は、xoauth:// callbackのようなものを使用することは可能でしたが、これはもう許可されません。 http://mysite.com/oauth2/callbackのようなリダイレクトURIを設定すると、適切なインテントフィルタが設定されているにもかかわらず、Google OAuth 2.0ページがリダイレクトされたときにAndroidが自分のアクティビティを開くことができません。 http://mysite.com/oauth2/callbackはブラウザに表示されます。
次は
Intent i = new Intent(Intent.ACTION_VIEW,Uri.parse("http://mysite.com/oauth2/callback"));
startActivity(i);
を働くんが、GoogleのOAuthの2ページが同じURLにリダイレクトするとき、それは単に、ブラウザに表示されます。
これが機能しても、ユーザーにはまだ選択肢のポップアップが表示されます(ブラウザで開くか、Androidのアクティビティを使用して開きます)。ユーザビリティの観点からは、これも受け入れられません。
私はここで概説したものよりも優れたソリューションを探しています。
よろしく、 デイビー
私は、[Picasaサンプル](http://samples.google-api-java-html)で[AccountManager](http://developer.android.com/reference/android/accounts/AccountManager.html) client.googlecode.com/hg/picasa-android-sample/instructions.html?r=default)。あなたが言及したビデオ(Google I/O 2011)は良い出発点であるようです。 Picasaの例は私には良いことです。現時点ではまだOAuth 2/AccountManagerで作業していません。しかしPicasaのソースを見ると、それほど難読化されていないと思う。あなたはそれを試しましたか? –
これはうまくいくはずですが、pre-ICSでは承認画面は実際には使いやすいものではありません。生のOauth2スコープをリストします。 ICSには人間が読める名前があります。しかし、Webベースのアプローチで得られるブランディング(アプリアイコン)は得られません。 https://plus.google.com/u/0/112215288642007559493/posts/Zme5LNLwCDP – ddewaele
アプリが市場に出回っている場合は、そのリンクを教えてください。これが私的な質問であれば申し訳ありませんが、いいえ、私はそれを理解するでしょう... –