2010-03-29 95 views
3

有谁知道任何Web应用程序示例,其中Oauth已经用于Google数据API?使用Java的Google Data API中的OAuth

+1

没有我所知道的,但是您可以随时使用Google数据API(http://code.google.com/apis/gdata/articles/oauth.html)检查OAuth的API – 2010-03-30 00:00:46

+0

我已检查过该示例,不知何故它不完整。它在授权请求令牌时不起作用。如果用户决定授予访问权限,我将如何进入程序?没有关于这一点。 – yogsma 2010-03-30 04:56:12

+0

好的,然后尝试这个(http://code.google.com/apis/gdata/docs/auth/oauth.html) – 2010-03-30 15:46:41

回答

1

从我的理解(纠正我,如果我错了)。为了获取请求令牌,请将oauth_callback设置为将oauth_token附加到oath_callback后的绝对路径。

从(http://code.google.com/apis/gdata/docs/auth/oauth.html

从回调URL

当谷歌重定向到您的 应用程序,该组oauth_token是 追加到 “oauth_callback_url” URL作为提取令牌查询参数。然后,您的 应用程序应该从其URL查询 参数中提取 标记值,并重新建立oauth 参数。

如果您使用的是Google OAuth helper,那么您可以试试这个例子。

import com.google.gdata.client.docs.*; 
import com.google.gdata.client.authn.oauth.*; 

String CONSUMER_KEY = "example.com"; 
String CONSUMER_SECRET = "abc123doremi"; 

GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters(); 
oauthParameters.setOAuthConsumerKey(CONSUMER_KEY); 
oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET); 
oauthParameters.setScope("https://docs.google.com/feeds/"); 
oauthParameters.setOAuthCallback("http://www.example.com/UpgradeToken.jsp"); 

GoogleOAuthHelper oauthHelper = new GoogleOAuthHelper(new OAuthHmacSha1Signer()); 
oauthHelper.getUnauthorizedRequestToken(oauthParameters); 

这个例子好像是在JSP里写的。您可以使用Frameworks使用它。

oauthParameters.setOAuthCallback()是Google添加回调URL路径以确保其令牌被返回的地方。

+0

这就是我正在尝试。当用户授予或拒绝访问权限时,我的真正问题就出现了。我应该如何抓住这个事件?我需要从callback_url查询oauth_token,但只有在用户授予访问权时才会依赖它。 – yogsma 2010-03-30 21:59:31

+0

你是什么意思'当用户授予或拒绝访问'? – 2010-03-30 22:37:07

+0

well..onece我得到一个授权的URL,我会将用户重定向到用户提供他的登录信息的那个URL,并且他得到了他可以授权访问该Google服务数据的屏幕,或者他可以拒绝。 – yogsma 2010-03-31 05:22:06