0

3本足のOAuthを使用してユーザーの連絡先APIにアクセスするWebアプリケーションを作成しました。プロセスの最後に、access_tokenとaccess_token_secretを受け取り、user_id(ユーザーの電子メール)と一緒にデータベースに保存します。

問題は、次に誰かがOAuthを実行しようとするときに、手順全体を実行するのではなく、それを使用するための既存のトークンがすでにある場合に必要なことです。

ユーザーが認証される前にuser_idを取得する方法はありますか?

認証には、ここからのコードを使用しています: http ://code.google.com/appengine/articles/java/retrieveing_gdata_feeds.html

4

2 に答える 2

1

(\me?access_token=)バックグラウンドで、保存されているアクセストークンを使用してページにアクセスします。トークンがまだ有効な場合は、エラーなしで応答が返されます。トークンが有効でなくなった場合は、OAuthException応答として受け取ります。

get userData with old access token 

if exception is thrown => Redo authentication process
else => continue with old token
于 2012-03-26T13:51:27.887 に答える
1

これは、OAuthによって保護されているリソースによって異なります。通常、ターゲットuser_idがある場合は、RESTfulサービスを追加で呼び出すことで取得できます。

たとえば、Google +を使用すると、次のようなものになります(私のG +ラッパーを使用)。

String userId = plus.getPeopleOperations().get("me").getId();
于 2012-03-26T13:51:33.167 に答える