2011-09-12 50 views
0

试图编写一个脚本来获取几个用户的最新推文。在我自己的twitter帐户上效果很好,但不是最近创建的其他帐户(< 7天)。默认Twitter保护吗?

检查他们的帐户设置后,他们报告说“保护我的推文”是未检查,这意味着我可以使用twitter API公开访问它们。

相关代码:

$url = 'http://api.twitter.com/1/statuses/user_timeline.json?user_id=' . $twID . '&count=' . $count . '&trim_user=true'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$return[] = json_decode(curl_exec($ch), true); 

结果来自Twitter的API:

[0] => Array 
    (
     [error] => This method requires authentication. 
     [request] => /1/statuses/user_timeline.json?user_id=1540067663&count=6&trim_user=true 
    ) 

[1] => Array 
    (
     [0] => Array 
      (
       [favorited] => ... // Success -- Output truncated for brevity. 
    ) 

[2] => Array 
    (
     [error] => This method requires authentication. 
     [request] => /1/statuses/user_timeline.json?user_id=1532872753&count=6&trim_user=true 
    ) 

) 

是Twitter的API自动保护新的帐户?

+0

好像Twitter API不喜欢它,如果我使用“user_id”,但“screen_name”参数工作得很好。解决方法解锁,嘿。 –

回答

0

利用screen_name代替user_id解决了这个问题让我满意之间交换信息,这一呼吁是有用的。

最终链接的格式:

$url = 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=' . $twID . '&count=' . $count;

也许这可能是一个错误报告与Twitter的API ...但我们将看到的。 :)

1

$twID从哪里来?

我实际上有相反的地方,屏幕名称参数给我wonky结果,所以我不得不使用userid。有时你必须喜欢Twitter API。

您可能会发现它给你两个

​​3210 http://api.twitter.com/1/users/lookup.xml?user_id=6253282

+0

我从调用函数传入'$ twID'。这是一个twitter user_ids数组,虽然现在他们是screen_names。我对数组进行了foreach,因此我为每个用户打了一次电话。 –

+0

感谢您的通话示例 - Twitter的API很有趣,但与Facebook的Graph相比,它没有什么比较过山车。 :) –