twitter4J,jquery,coldfusion集成

时间:2011-08-18 08:06:37

标签: jquery coldfusion twitter4j

我正在使用Twitter4j并尝试获取并将用户的Twitter访问令牌存储到数据库以供稍后发送。我想完全用jQuery和ajax完成它,默默地。

我有一个cfc,具有必要的基本功能。例如以下jquery调用cfc函数生成requestURL并弹出一个Twitter auth窗口。

$(".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完成吗?

我可能要求的太多了,但是如果有人做过类似的事情,我真的很感激能朝着正确的方向发展。

1 个答案:

答案 0 :(得分:0)

看看here

此网站的工作方式是使用getOAuthRequestToken()生成RequestToken,然后在RequestToken上调用getToken()getSecretToken(),并将这两个变量存储在SESSION范围内。然后使用URL生成授权getAuthorizationURL()

用户批准OAuth请求后,您需要生成访问令牌并存储这两种方法的结果:AccessToken.getToken()AccessToken.getTokenSecret()

因此,为了回答您的问题,我认为它可行的方式是在生成并返回授权网址之前存储您的oAuthRequestTokenoAuthRequestTokenSecretSESSION范围。

当您使用Twitter注册应用程序时,您指定了一个回调URL。这是用户在Twitter上自动化您的应用程序后将被重定向的页面。

调用回调URL时,只需从SESSION sope中存储的请求令牌创建一个访问令牌。

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

并将Token和TokenSecret存储在数据库中:

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

希望这有帮助