如何使用cURL为给定的用户名循环通过twitter api结果

时间:2012-06-13 14:28:34

标签: php curl twitter simplexml

我试图通过SimpleXMLElement对象的结果遍历给定用户的推特时间线。由于某种原因,下面的代码只显示一个结果。

  1. 我在这里做错了什么?

  2. 如何在xml / rest结果的“description”标签中搜索一串文本。防爆。我试图找到包含字符串“我喜欢编码”的所有推文。


  3. <?php
    // create a new cURL resource
    $ch = curl_init();
    
    curl_setopt_array(
        $ch,
        array(
            CURLOPT_URL => "http://api.twitter.com/1/statuses/user_timeline.rss?  screen_name=twitterusername",
            CURLOPT_RETURNTRANSFER => true
        )
    ); 
    
    $response = curl_exec($ch);
    curl_close($ch);
    
    $xml = new SimpleXMLElement($response);
    
    foreach($xml as $x){
    echo '<h2>' . $x->title . '</h2>';
    echo '<a href="'.$x->link .'">Link</a>';
    echo '<br><em>' .$x->description .'<em>';
    }
    ?>
    

2 个答案:

答案 0 :(得分:1)

我认为这里有两个错误。

首先,您要求RSS,您需要请求XML

https://api.twitter.com/1/statuses/user_timeline.xml?screen_name=edent

其次,您希望将XML加载为字符串,如此

$tweets = simplexml_load_string($response);

然后像这样经历他们

foreach ($tweets as $status) {
    echo $status->text;
    //etc
}

答案 1 :(得分:0)

我不熟悉SimpleXMLElement,但您确定它将数组值返回到$ xml吗?据我所知,阅读文档似乎只返回一个元素。