0

我创建了使用 3-legged OAuth 访问用户联系人 API 的 Web 应用程序。在该过程结束时,我收到一个 access_token 和 access_token_secret,我将它们与 user_id(用户的电子邮件)一起保存在数据库中。

问题是下次有人尝试通过我想要的 OAuth 时,如果我已经有现有的令牌来使用它,而不是通过整个过程。

有没有办法在用户通过身份验证之前获取 user_id。

对于身份验证,我使用这里的代码: http ://code.google.com/appengine/articles/java/retrieving_gdata_feeds.html

4

2 回答 2

1

在后台(\me?access_token=)使用存储的访问令牌访问页面。如果令牌仍然有效,您将收到没有错误的响应。如果令牌不再有效,您将收到OAuthExceptionas 响应。

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 回答