使用 jtwitter 和 SignpostClient 的永久 twitter oauth
我有一个在服务器上运行的应用程序,使用流 API 监听各种推文,然后偶尔发送推文。使用旧的 Twitter 身份验证系统效果很好,但使用 OAuth 会使事情变得有点复杂。
我可以成功启动应用程序,并且我的浏览器会打开 Twitter 的 OAuth 页面。如果我输入 PIN,应用程序可以正常运行,但我需要能够在无人值守的情况下重新启动应用程序。 Twitter 的 OAuth 常见问题解答 http://dev.twitter.com/pages/oauth_faq 表示令牌永远不会过期,所以我想做的是在每次应用程序启动时重新使用授权令牌。
我怎样才能做到这一点?或者还有其他方法可以只授权一次吗?
I have an application that runs on a server, listens for various tweets using the streaming api, and then occasionally sends tweets out. This worked fine using the old twitter authentication system, but using OAuth has complicated things a bit.
I can successfully start the application up and my browser opens Twitter's OAuth page. If I enter the PIN the application runs fine but I need to be able to restart the application unattended. Twitter's OAuth FAQ http://dev.twitter.com/pages/oauth_faq says that tokens never expire, so what I'd like to do is re-use the authorization token each time the application starts.
How can I do that? Or is there another way to authorize just once?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我会回答我自己的问题,因为解决方案非常简单。
如本页所述 http://dev.twitter.com/pages/oauth_single_token 如果您如果正在构建具有单用户用例的应用程序,您可以从 Twitter 上的应用程序控制面板检索永久访问令牌和访问令牌机密。在“应用程序详细信息”页面中,单击“我的访问令牌”链接。
通读 OAuthSignPostClient 类,我注意到默认的 jtwitter 实现使用以下方法签名:
但也可以使用以下方式调用:
所以我的客户端应用程序代码已从: 更改为
:
一切都很好。
I'll answer my own question because the solution is pretty straightforward.
As described in this page http://dev.twitter.com/pages/oauth_single_token if you're building an application with single-user use cases you can retrieve the permanent access token and access token secrets from your application control panel on Twitter. In the Application Details page, click the My Access Token link.
Reading through the OAuthSignPostClient class I noticed that the default jtwitter implementation uses the following method signature:
But it can also be called using:
So my client app code has changed from:
to:
And all is well.