简单的Twitter XML Feed仅占20%的时间

时间:2011-12-08 16:16:40

标签: php xml twitter

之前使用过XML提要,但这个似乎导致了错误。

我没有经验,所以请保持温柔。

以下代码应使用其XML地址加载到Twitter Feed中。它占20%的时间。其他时候它会错误地返回。我不明白为什么。

<?php 
   if(simplexml_load_file('https://api.twitter.com/1/statuses/user_timeline/quitecheesedoff.xml?count=6')) {
      $xml = simplexml_load_file('https://api.twitter.com/1/statuses/user_timeline/quitecheesedoff.xml?count=6');
      $tweets = $xml->xpath("/statuses/status");

      foreach($tweets as $tweet) {
         $text = $tweet->text;
         $date = $tweet->created_at;
         echo '<div class="tweet"><b>' . $text . '</b>' . $date . '</div>';
      }
   }
   else echo 'error';
?>

错误

  

警告:   使用simplexml_load_file(https://api.twitter.com/1/statuses/user_timeline/quitecheesedoff.xml?count=6)   [function.simplexml-load-file]:无法打开流:HTTP请求   失败!

中的HTTP / 1.0 400错误请求

1 个答案:

答案 0 :(得分:2)

您可能提出了太多请求,触发了每小时请求限制150 - 使用您的代码变为75.

我建议使用

if (($xml = simplexml_load_file('...')) !== FALSE) {

代替。您的$xml = ...行不再需要了。

<强>更新

400错误并不总是实际用于Twitter上的错误请求。因为它有20%的时间可以工作,所以我说可以安全地说还有别的东西。

  • 避免使用XML,除非您的编程语言不接受JSON(PHP使用JSON!)
  • 避免使用不推荐的网址。请改用https://api.twitter.com/1/statuses/user_timeline.xml?count=6&screen_name=quitecheesedoff

过去,当Twitter的内部代理人犯错时,也会出现400错误。