【问题标题】:Update Twitter Status using CURL使用 CURL 更新 Twitter 状态
【发布时间】:2011-07-17 16:23:49
【问题描述】:

我在通过用户名和密码更新 Twitter 状态时遇到问题。

这是代码:

$username = 'username';
$password = 'password';
$message = 'Testing';
$url = 'http://twitter.com/statuses/update.xml';

$curl_handle = curl_init();

curl_setopt($curl_handle, CURLOPT_URL, $url);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
 curl_setopt($curl_handle, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); //basic authentication
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password");
$buffer = curl_exec($curl_handle);

curl_close($curl_handle);

echo $buffer;

这不仅适用于一个用户,因此我不能使用 OAuth(意味着使用消费者密钥和其他令牌)。我已经尝试过:http://www.1stwebdesigner.com/tutorials/how-to-update-twitter-using-php-and-twitter-api/ 但我无法传递多个用户的用户名和密码来更新多个 Twitter 状态。

请帮帮我。

【问题讨论】:

    标签: twitter status


    【解决方案1】:

    您将无法再通过 curl 通过用户名和密码更新 Twitter 状态 - 基本身份验证是几个月前(2010 年 8 月)deprecated/turned off by Twitter。第三方应用程序的更新等现在必须通过 oauth 身份验证来完成。

    顺便说一句 - 考虑到您使用的是 PHP - 我建议使用 PEAR Services_Twitter 包或 the Zend equivalent

    【讨论】:

    • 感谢您提供此信息。我查看了您给我的两个链接。但我想使用他们的用户名和密码动态更新多个用户的 Twitter 状态。我将拥有不同用户的 twitter 用户名和密码。那么网络上有什么帮助可以做到这一点吗?
    【解决方案2】:

    无论您有多少用户,您都不能使用用户名和密码来更新 Twitter 状态。这不再有效。它已被关闭。您必须使用 OAuth。 OAuth 允许多个用户在您的网站上登录 Twitter。当他们这样做时,您将获得他们的 OAuth 令牌的副本。然后,您使用这些令牌将推文发送到他们的帐户。您仍然可以在线找到使用基本身份验证进行此操作的文档,但所有这些都已过时。 Twitter 上不再提供基本身份验证。

    【讨论】:

      【解决方案3】:

      首先您必须在每次更新用户状态时使用 cookie,然后在每次成功状态更新后销毁 cookie。 其次,将此条件放入循环中以更新您不会更新的所有用户。 看到这可能会帮助你: http://blancer.com/tutorials/73877/how-to-authenticate-users-with-twitter-oauth/

      【讨论】:

      • 当我使用了这个 CURL 代码时,它会显示错误:“不支持基本身份验证”所以你能帮我解决这个问题吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-10
      • 2012-03-13
      • 2016-03-12
      • 2012-01-11
      相关资源
      最近更新 更多