1

OAuthを使用して、AndroidからIMAP経由でGMAILにアクセスしたい。ここに示すように: http://code.google.com/apis/gmail/oauth/protocol.html#imap

AccountManager から返された認証トークンを AUTHENTICATE パラメーターとして使用しようとしましたが、認証できませんでした。

このコードを使用してトークンを取得しています。

AccountManager accountManager = AccountManager.get(this);
Account[] accounts = accountManager.getAccountsByType("com.google");

AccountManagerFuture<Bundle> accountManagerFuture = accountManager.getAuthToken(accounts[0], "android", null, (Activity)this, null, null); 
Bundle authTokenBundle = accountManagerFuture.getResult();
String authToken = authTokenBundle.get(AccountManager.KEY_AUTHTOKEN).toString();

IMAP 接続後、次のコマンドを実行します。

"AUTHENTICATE XOAUTH " + authToken

そして、無効な引数の応答を受け取ります。

私は何を間違っていますか?OAuth トークンと Account トークンの間には本当に関係がありますか? 存在しない場合、アカウント トークンから XOAUTH トークンを取得する方法を教えてください。

ありがとう。

4

1 に答える 1

2

authTokenTypeinを指定するときに、「mail」ではなく「android」を使用する必要がありますgetAuthToken()か? または、一覧には表示されていませんが、すべてへのアクセスを求めているように見える "ah" を使用することもできます。

http://code.google.com/apis/gdata/faq.html#clientlogin

Android AccountManager 認証タイプをサポートしているため、http: //code.google.com/p/google-api-java-client/も試してみてください。

于 2011-03-24T10:29:26.410 に答える