Twitter OAUTH和Win32 EXE桌面应用程序

时间:2010-10-21 23:06:04

标签: delphi twitter oauth delphi-7 indy10

我一直在编写Delphi EXE(win32桌面应用程序)代码来访问twitter并执行某些功能。它曾经使用api限制的基本身份验证。我知道我必须将其转换为OAuth。我一直在阅读文档,试图确定最佳方法。我理解最好的方法是带有回调网址的Web浏览器。我也知道Twitter包括基于Pin的(oob)身份验证方法。我认为这是使用此应用程序的路线,但我想确保,因为这不是无缝的。它要求用户到应用程序外部并获取密码。它也不安全,因为返回的访问令牌永远不会过期。

我正在使用Indy v10组件来执行GET / POST操作,所以我想知道是否有办法使用它们并且能够进行回调而不使用Pin身份验证方法。

任何人都可以帮助我吗?

此外,我一直在努力让Chuck Beasley的推特班使用Indy v10在Delphi 7中工作,我一直遇到麻烦。 IdObjs和Idsys不再存在。有没有人让这个课程与我的场景一起工作? 谢谢, 大卫

3 个答案:

答案 0 :(得分:4)

OAuth是一种用于Web应用程序的标准,其文本中充斥着“代理”一词,意思是浏览器。最好的解决方案恕我直言,如果可能的话,实际上有一个回调URL,这意味着你有自己的网站提供服务来支持你的应用程序功能。有些服务可以使第三方成为可能,例如JanRain。如果这些选项不可行(意味着您无法为回调URL提供真正的WWW站点)不可行,那么您唯一的选择就是带外身份验证,即oob。甚至不要考虑让OAuth身份验证回调在某个端口上监听的应用程序,这对于1)绝大多数应用程序将位于某种NAT设备(路由器,出站代理)之后是完全不可靠的,这使得它们无法从OAuth prvider和2)操作系统防火墙将阻止您的来电。

答案 1 :(得分:1)

与此同时,Beasly的Twitter课程已经扩展/更新;见the latest incarnation

我已经开始使用Synapse访问twitter的库。它可以使用OOB / PIN身份验证和预定义的oauth令牌/机密。它可以扩展为使用基于浏览器的身份验证。目前使用FPC编写,但应该很容易适应Delphi。 FPCTwit code

答案 2 :(得分:0)

你可能想尝试我的推特,支持unicode以及其他delphi实现:

http://eden.fm/2011/02/27/twitter-library-for-delphi/

我不使用Indy,但ICS