我有这个PHP脚本,我写的是自动跟随用特定术语发布消息的用户。它在一堆测试帐户上100%的工作时间,但是对我想要使用它的帐户不起作用。
我已经检查了帐户的API速率限制,它完全在边界内。我还验证了用户名和密码是否正确。如果我将其他用户名和密码更改为其他帐户,则可以使用,但是当更改回(正确)到主帐户时,没有任何反应。我完全不知所措。有没有人遇到过这个?
我包括下面使用的两个文件。如果有任何其他信息有用,请告诉我,如果可以,我会提供。谢谢!
Index.php
<?php
$url = "http://search.twitter.com/search.atom?q=SEARCHTERM&show_user=true&rpp=100";
$search = file_get_contents($url);
$regex_name = '/\<name\>(.+?) \(/';
preg_match_all($regex_name,$search,$user);
for($i=0;$user[1][$i];$i++)
{
$follow = $user[1][$i];
include("follow.php");
}
?>
Follow.php
<?php
define('TWITTER_CREDENTIALS', 'username:password');
$url = "http://twitter.com/friendships/create/".$follow.".xml";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, TWITTER_CREDENTIALS);
$result= curl_exec ($ch);
curl_close ($ch);
?>
快速更新:结果问题出现在Twitter的末端 - 有问题的帐户比某些原因施加的API限制更严格。我没有将任何回答标记为答案,因为它是一个相当特殊的例子。
答案 0 :(得分:2)
要调试你的cURL请求已经说了所有内容,但也许你可以使用Services_Twitter,这是一个包裹在Twitter-API周围的软件包。它提供了非常强大的响应处理。
目前也支持搜索和友谊。
如果您不想这样做,那么仅针对Twitter-Search API,我会使用JSON并执行以下操作:
<?php
$url = "http://search.twitter.com/search.json?q=SEARCHTERM&show_user=true&rpp=100";
$search = file_get_contents($url);
if ($search === false) {
die('Error occurred.');
}
$hits = json_decode($search);
var_dump($hits);
?>
解析较少,大多数 PHP5安装中都可以使用ext/json。
答案 1 :(得分:0)
尝试使用:
curl_setopt($ch, CURLOPT_VERBOSE, 1);
并查看它是否有助于识别问题。