2010-03-29 52 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

相關問題