Authentication 如何在非基于Web的应用程序中登录和调用Twitter API?

Authentication 如何在非基于Web的应用程序中登录和调用Twitter API?,authentication,twitter,login,oauth,twitter-oauth,Authentication,Twitter,Login,Oauth,Twitter Oauth,我希望将Twitter API调用集成到我的独立Windows应用程序中。它不是基于Web的应用程序 据我所知,为了登录Twitter并使用API,应用程序必须在浏览器中将用户引导到Twitter网站,让他们通过OAuth登录,而这反过来又在验证后将用户的浏览器重定向到应用程序控制的网页 在Twitter从基本身份验证切换到OAuth系统之前,非web应用程序似乎可以简单地提示用户输入他们的用户/密码,并在内部通过HTTP/REST处理所有事情,而无需借助生成web浏览器来完成此过程 除了编写大

我希望将Twitter API调用集成到我的独立Windows应用程序中。它不是基于Web的应用程序

据我所知,为了登录Twitter并使用API,应用程序必须在浏览器中将用户引导到Twitter网站,让他们通过OAuth登录,而这反过来又在验证后将用户的浏览器重定向到应用程序控制的网页

在Twitter从基本身份验证切换到OAuth系统之前,非web应用程序似乎可以简单地提示用户输入他们的用户/密码,并在内部通过HTTP/REST处理所有事情,而无需借助生成web浏览器来完成此过程

除了编写大量代码在独立应用程序中实现浏览器以模拟和处理各种OAuth握手之外,还有没有更简单的方法可以在非基于web的应用程序中提示用户输入他们的Twitter用户和密码、执行身份验证并开始发出Twitter API调用

推特服务器可能会过滤用户代理上的HTTP请求,并拒绝来自不在某个内部推特批准列表中的客户端的任何请求


我看到似乎有某种形式的程序,如果你泄露你申请的所有细节并向他们发送详细的视频,那么他们可能会授予你某种形式的特殊访问令牌,我很不愿意在发布前就把我的应用程序拆开,结果却让那些大人物过来撕毁它,并在它获得吸引力之前复制它。

我想你正在寻找一个新的解决方案。这适用于非基于web且无法嵌入web浏览器的应用程序。我自己并没有使用过它,但它看起来非常简单——至少在oauth工作后是这样

也就是说,假设您的目标用户可以打开浏览器并转到Twitter获取PIN。他们没有指定pin的有效期,但似乎有一种机制可以撤销pin


您没有指定正在使用的技术。如果您在实施过程中遇到技术问题,请发布。

非常感谢您提供的信息。因此,用户再次需要一个浏览器来登录Twitter,文本必须被复制和粘贴。除了在代码中实现浏览器模拟以捕获上述所有内容之外,是否没有其他方法可以轻松地完全自动化以避免进一步的用户交互?我以前的评论不太准确,我已经删除了它们。无论如何,我的猜测是,如果您有一个使用web浏览器和oauth的设置,并且它正在工作,那么您可以复制相同的HTTP请求并在代码上构建它们。然而,这将违反oauth哲学(甚至可能违反安全性)。如果没有oauth,您将要求用户向您的应用程序提供他们的twitter密码。通过这种方式,用户只向twitter提供他的twitter密码。谢谢。如果没有直接访问,那将是一种耻辱,因为这是Twitter最初建立业务的方式,只是为了拉起他们身后的吊桥。理论上,任何HTTP客户机都会和其他客户机一样好,但我怀疑它有更多的优点,我还怀疑未经批准的用户代理会被拒绝。