twitter4J、jquery、coldfusion 集成
我正在使用 Twitter4j 并尝试获取用户的 Twitter 访问令牌并将其存储到数据库中以供以后发推文。我想完全用 jQuery 和 ajax 默默地完成这件事。
我有一个cfc,具有必要的基本功能。例如,以下 jquery 调用 cfc 函数,该函数生成 requestURL 并弹出打开 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 来完成吗?
我可能要求太多了,但如果有人做过类似的事情,我真的很感激朝正确的方向推动。
I'm using Twitter4j and attempting to obtain and store user's Twitter access tokens to database for later tweeting. I want to do it entirely with jQuery and ajax, silently.
I have a cfc with the basic functions necessary. e.g. tHe following jquery calls a cfc function which generates the requestURL and pops open a Twitter auth window.
$(".cbLinkTwitter").live("click", function(e) {
$.getJSON(cfcRoot + "/twitter.cfc?method=getRequestURL&returnformat=json, {"user_id":user_id}, function(res,code) {
openWindow(res);
});
e.preventDefault();
});
This is all working fine. However after the user grants authorisation, how to I use jQuery to capture the returned tokens. It needs to return to a specified callback URL, but I would like it to return the data silently if possible. Could this be done with an iframe?
I'm probably asking too much, but if anyone's done anything similar, I'd really appreciate a shove in the right direction.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看看这里。
该网站的做法是使用
getOAuthRequestToken()
生成 RequestToken,然后对 RequestToken 调用getToken()
和getSecretToken()
并存储那 2 个SESSION
范围内的变量。然后使用getAuthorizationURL()
生成授权URL
。用户批准 OAuth 请求后,您需要生成访问令牌并存储这 2 个方法的结果:
AccessToken.getToken()
和AccessToken.getTokenSecret()
。因此,为了回答您的问题,我认为它的工作方式是在生成之前存储您的
oAuthRequestToken
和oAuthRequestTokenSecret
是SESSION
范围并返回授权 URL。当您向 Twitter 注册应用程序时,您可以指定一个回调 URL。这是用户在 Twitter 上授权您的应用程序后将重定向到的页面。
调用回调 URL 时,只需根据存储在
SESSION
sope 中的请求令牌创建访问令牌即可。并将 Token 和 TokenSecret 存储在数据库中:
希望这有帮助
Have a look here.
The way this site does it is by generating a RequestToken using
getOAuthRequestToken()
, then callgetToken()
andgetSecretToken()
on the RequestToken and store those 2 variables in theSESSION
scope. Then the AuthorizationURL
is generated usinggetAuthorizationURL()
.After the user has approved the OAuth request, you need to generate an Access Token and store the results of those 2 methods:
AccessToken.getToken()
andAccessToken.getTokenSecret()
.So to answer your question, the way I'd assume it would work, would be to store your
oAuthRequestToken
andoAuthRequestTokenSecret
isSESSION
scope before generating and returning the Authorization URL.When you register your application with Twitter, you specify a callback URL. That's the page where the user is going to be redirected after the user autorizes your application on Twitter.
When the callback URL is called, simply create an Access Token from the request token stored in
SESSION
sope.and store the Token and TokenSecret in database:
Hope this helps