2011-08-18 68 views
0

我正在使用Twitter4j並試圖獲取用戶的Twitter訪問令牌並將其存儲到數據庫以供以後發送。我想完全用jQuery和ajax完成,默默地完成。twitter4J,jquery,coldfusion集成

我有一個必要的基本功能的CFC。例如接下來,jquery調用一個生成requestURL的cfc函數,並彈出一個Twitter認證窗口。

$(".cbLinkTwitter").live("click", function(e) { 
    $.getJSON(cfcRoot + "/twitter.cfc?method=getRequestURL&returnformat=json, {"user_id":user_id}, function(res,code) { 
      openWindow(res); 
    }); 
    e.preventDefault(); 
}); 

這一切工作正常。但是,在用戶授予授權後,如何使用jQuery捕獲返回的標記。它需要返回到指定的回調URL,但是我希望它在可能的情況下靜靜地返回數據。這可以通過iframe來完成嗎?

我可能要求太多,但如果任何人做了類似的事情,我真的很感激在正確的方向推。

回答

0

看一看here

此網站的方式是通過使用getOAuthRequestToken()產生RequestToken,然後調用在RequestToken getToken()getSecretToken()和那些2個變量存儲在SESSION範圍。然後使用getAuthorizationURL()生成授權URL

用戶批准OAuth請求後,您需要生成一個訪問令牌並存儲這兩種方法的結果:AccessToken.getToken()AccessToken.getTokenSecret()

所以要回答你的問題,我假設它會起作用的方法是在生成並返回授權URL之前存儲你的oAuthRequestTokenoAuthRequestTokenSecretSESSION範圍。

當您使用Twitter註冊您的應用程序時,您指定一個回叫URL。這是用戶在Twitter上對應用程序進行應用程序自動重定向後的頁面。

當調用回調URL時,只需從存儲在SESSION sope中的請求令牌創建一個訪問令牌。

<cfset AccessToken = Twitter.getOAuthAccessToken(Session.oAuthRequestToken,Session.oAuthRequestTokenSecret) /> 

和存儲令牌和TokenSecret數據庫:

<cfset Token = AccessToken.getToken() /> 
<cfset TokenSecret = AccessToken.getTokenSecret() /> 

希望這有助於