2011-07-11 8 views
6

私の仕事はGmailのIMAP電子メールクライアントを書くことです。これまでのところ、クライアントはOAuthを通じて認証する必要があります(Googleのjava library for IMAP authもあります)。しかし、私は任意のパスワードの入力から自由にユーザーを設定したいと思います。Android AccountManagerのauthTokenとOAuth

Androidは、AccountManager経由でGoogleアカウントサービスのauthTokenを取得するクールなネイティブな方法を提供します。しかし、私はauthTokenをどのように使うのだろうと思っています。 GAE認証のみですか?

ブラウザなしで(AccountManager経由で)oauthTokenとoauthTokenSecretを取得する方法はありますか?

+0

[Google IO 2011からのトーク](http://www.google.com/events/io/2011/sessions/best-practices-for-accessing-google-apis-on-android.html)をご覧ください。 。説明されているAccountManagerを使用して、新しいAndroid搭載端末のユーザーエクスペリエンスはかなり優れています。 –

+0

ありがとう!しかし、私はすでにこのライブラリを見て、Google APIにgmailのやりとりがないことを発見しました。悲しいことだが、私はIMAPを使う必要がある。それとも、私は何かが恋しいですか? –

+0

私は確かに分かりませんが、GmailにはOAuth経由でアクセスできます。私はそうすることができるChrome拡張機能を使用しています。 –

答えて

4

AccountManager.getAutToken()を呼び出すときに、「認証トークンタイプ」(authTokenTypeパラメータ)として「oauth2:https://mail.google.com/」を使用しようとしましたか?

talk you mentionedの46:50に記載されていることによると、うまくいくはずです。

ところで、this pageは、GoogleタスクのOAuth2トークンを取得する方法を説明しており、a link to a code sampleです。 authTokenTypeパラメータを正しく入力するだけであるようにも聞こえます。

+0

それは動作し、それは動作します!しかし、ClientLoginライブラリのみ。右?なぜAndroidクライアントアプリにOAuthトークンが必要なのか、なぜならAccountManagerが提供するものではない理由がたくさんあります。そしてWebViewが唯一の方法だと思われます...あなたの答えをありがとう! –

+0

例で提供されているauthTokenTypeを使用する場合、AccountManagerによって指定されたトークンはOAuthトークンである必要があります。私はまだ自分自身で試していないことを認めなければならないが、[最後のコードサンプル](http://code.google.com/p/google-api-java-client/source/browse/tasks-android-sample /src/main/java/com/google/api/services/samples/tasks/android/TasksSample.java?repo=samples)はこれを明示しているようです(AccountManagerによって返されたトークンは 'oauth2.draft10.GoogleAccessProtectedResource ')。 – unBrice

+0

うわー!コメントありがとう - 私はこの週末にAccountManagerからトークンを試してテストします。 –

関連する問題