如何显示特定的推文? (使用PHP / jQuery)

时间:2010-10-06 13:13:58

标签: php jquery codeigniter twitter

我想在我的网页上嵌入一条特定的推文,例如http://twitter.com/myusername/status/123465678我还希望能够显示最新的具有特定标记的推文。

我尝试使用Twitter API CodeIgniter Library自己做这个,但我需要向Oauth注册我的应用程序。在页面上嵌入一条推文似乎有些过分。

我更喜欢用PHP做这个,但可能需要解决jquery版本。任何人都可以指向一个可以做到这一点的脚本吗?

感谢

5 个答案:

答案 0 :(得分:1)

我认为您可以在不使用Oauth的情况下使用公共Feed。我有一段时间没有使用它,但这段代码一次对我有用:

$url = "http://twitter.com/yourtwittername";
$h = curl_init($url);
curl_setopt($h,CURLOPT_POST,TRUE);
curl_setopt($h,CURLOPT_POSTFIELDS,$params);
curl_setopt($h,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($h,CURLOPT_VERBOSE,1);
curl_setopt($h,CURLOPT_HTTPHEADER,array('Expect:'));
$response = json_decode(curl_exec($h));
$results = curl_getinfo($h); # to check for http response, etc.
curl_close($h);
// additional processing on response ...

答案 1 :(得分:1)

我使用curl做过一次,你可能必须先在你的php.ini中启用它

这是一个可以为你完成工作的课程

<?php
class TwitterGrub{
    private $user;
    private $password;

    function __construct($user, $password) {
        $this->user = $user;
        $this->password = $password;
    }

    function setUser($user) {
        $this->user = $user;
    }

    // same for password


    function twitterCapture() {  


       $ch = curl_init("https://twitter.com/statuses/user_timeline.xml");  
       curl_setopt($ch, CURLOPT_HEADER, 1);  
       curl_setopt($ch,CURLOPT_TIMEOUT, 30);  
       curl_setopt($ch,CURLOPT_USERPWD,$this->user . ":" . $this->password);  
       curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
       curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);  
       curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);  
       $result=curl_exec ($ch);  
       $data = strstr($result, '<?');  

       $xml = new SimpleXMLElement($data);  

      return $xml;  
}   


function twitterDisplay($twitNum = 2){
    $xml = $this->twitterCapture(); 

    for($i= 0; $i<$twitNum; $i++){ 
        echo   $xml->status[$i]->text;    
    }
}

答案 2 :(得分:1)

你不能只解析公共RSS吗?

答案 3 :(得分:1)

$.ajax({
  url: 'http://api.twitter.com/1/statuses/show/4190230693289984.json',
  dataType: 'jsonp',
  data: null,
  success: function (data) {
    // Do something with the data here.
    // I am just logging the object to the console.
    console.log(data);
  }
});

上面提取了json对象的个人推文(http://twitter.com/CERN/status/4190230693289984)。请注意使用'jsonp'允许客户端的浏览器访问您的其他域。有关详细信息,请参阅http://api.jquery.com/jQuery.ajax/

答案 4 :(得分:0)

您可以使用纯javascript,请参阅http://twitter.com/goodies/widget_profile获取Twitter个人资料小部件。然后自定义它只显示一条推文(或查看他们的js代码:D)。