根据apiwiki.twitter.com:“基本身份验证将于2010年8月16日删除”,他们的OAuth API将成为新的身份验证方法。
我是Twitter API的新手,我不清楚这适用于什么。我正在尝试创建一个简单的应用程序,通过HTML表单发布到Twitter - 我是否必须使用OAuth系统?或者仅适用于应用的OAuth系统(如http://dev.twitter.com/所示)。
如果我必须使用它,那么为什么缺少来自Twitter的官方库和代码示例(对于PHP我看到的都是非活动开源项目的链接)?
这是否意味着任何未在8月16日之前更新的Twitter应用/小部件将停止工作?
通过HTTPS和POST请求进行身份验证有什么问题?
答案 0 :(得分:2)
PHP有一个非常有用的OAuth库(oauth.googlecode.com/svn/code/php/),可以处理复杂的内容。另请参阅code.42dh.com/oauth/,了解有关如何使用OAuth的简单示例。它帮助我远远超过dev.twitter.com,它很适合参考但缺乏示例(目前)。
我使用OAuth.php(以及其他)在短短两个晚上创建http://twitter2rss.com/。
答案 1 :(得分:1)
是的,如果您通过API向Twitter发布任何内容,则需要使用OAuth。网上有一些例子,但Twitter很少发布官方代码库。
您也可以认为,经过身份验证的应用/小工具可能会在8月16日之后停止工作。
反对使用基本身份验证的原因是您将用户名和密码提供给太多第三方应用程序。理论上,这些应用程序可以存储您的用户名和密码,然后在未经您授权的情况下使用该信息登录Twitter。 OAuth意味着Twitter可以在您授予应用程序权限后直接跟踪应用程序,您可以从Twitter帐户管理页面禁用应用程序。
答案 2 :(得分:1)
我正在尝试创建一个简单的应用程序,通过HTML表单发布到Twitter - 我是否必须使用OAuth系统?或者仅适用于应用的OAuth系统(如http://dev.twitter.com/所暗示的那样)。 [...] 通过HTTPS和POST请求进行身份验证有什么问题?
这意味着如果您使用基本身份验证,它将在该日期停止工作。基本身份验证是HTTP协议的一部分,需要在每个请求的HTTP标头中向服务器发送用户名和密码。这是不可取的;使用OAuth,您不必向第三方传递您的用户名和密码,即您正在开发的应用程序永远不知道用户的实际用户名和密码是什么。
我看到你正在考虑使用为浏览器/用户保留的方法对twitter进行身份验证。你不应该这样做。它:
对不起,您需要花一些时间来学习OAuth身份验证。有几个库。
答案 3 :(得分:0)
如果您的应用只是在Twitter上更新单个帐户,您只需要为该帐户执行一次request_token / authorization步骤,并保存访问令牌/机密以对Twitter API进行身份验证。
值得在您的应用中实施请求/授权步骤,是否有可能在将来需要刷新访问令牌,并将其构建到您应用的管理端可能很有用。
最后,想象一下,访问令牌/机密是您获取Twitter API访问权限的新用户名/密码,并且您还必须使用应用程序的消费者密钥/密钥“签署”您的请求。