dr9379 2010-02-16 19:39
浏览 35
已采纳

用PHP获取我最新的Twitter帖子

I'm trying to make a simple site that uses php and the Twitter API to write out my latest post from twitter. I found a tutorial showing me how to get my timeline (or last 20 posts) in xml format, but can't figure out how to print out just the latest post, and just the text of it (not the time, date, etc that come with the xml/rss/etc).

My code looks like this

<h2 id = "latest">
    <?php
        var $username='myusername';  
        var $password='mypassword'; 
        var $responseInfo=array();

        function latest_status($format='json',$id=null) {
            $request = 'http://twitter.com/statuses/user_timeline.'.$format;
            if($id) {
                $postargs = "id=$id";
                return $this->process($request,$postargs);
            }
            return $this->process($request);
        }

        echo latest_status("json");
    ?>
</h2>

And it's returning this:

[{"contributors":null,"created_at":"Tue Feb 16 19:56:08 +0000 2010","in_reply_to_user_id":null,"source":"API","favorited":false,"in_reply_to_status_id":null,"truncated":false,"user":{"notifications":null,"profile_link_color":"0000ff","description":"","verified":false,"profile_background_tile":false,"created_at":"Tue Feb 16 01:16:15 +0000 2010","profile_background_color":"9ae4e8","profile_image_url":"http://s.twimg.com/a/1265999168/images/default_profile_1_normal.png","time_zone":"Hawaii","profile_sidebar_fill_color":"e0ff92","followers_count":0,"screen_name":"whisperingweb","lang":"en","friends_count":0,"profile_sidebar_border_color":"87bc44","statuses_count":2,"following":null,"protected":false,"favourites_count":1,"location":"","name":"Chris Armstrong","contributors_enabled":false,"profile_text_color":"000000","id":114608397,"geo_enabled":true,"profile_background_image_url":"http://s.twimg.com/a/1265999168/images/themes/theme1/bg.png","utc_offset":-36000,"url":null},"in_reply_to_screen_name":null,"geo":null,"id":9199090048,"text":"Someone was on your website"},{"favorited":false,"source":"web","in_reply_to_user_id":null,"created_at":"Tue Feb 16 18:50:21 +0000 2010","geo":null,"user":{"verified":false,"description":"","notifications":false,"profile_text_color":"000000","screen_name":"whisperingweb","profile_background_image_url":"http://s.twimg.com/a/1265999168/images/themes/theme1/bg.png","url":null,"profile_link_color":"0000ff","followers_count":0,"statuses_count":2,"profile_background_tile":false,"created_at":"Tue Feb 16 01:16:15 +0000 2010","friends_count":0,"profile_background_color":"9ae4e8","contributors_enabled":false,"time_zone":"Hawaii","favourites_count":0,"profile_sidebar_fill_color":"e0ff92","protected":false,"location":"","name":"Chris Armstrong","lang":"en","geo_enabled":true,"profile_sidebar_border_color":"87bc44","id":114608397,"following":false,"utc_offset":-36000,"profile_image_url":"http://s.twimg.com/a/1265999168/images/default_profile_1_normal.png"},"contributors":null,"in_reply_to_status_id":null,"id":9196705546,"in_reply_to_screen_name":null,"truncated":false,"text":"The quick brown fox jumps over the lazy dog"}]

I'm pretty new to php, and completely new to the Twitter API, so would appreciate any help or advice.

edit: Have changed example from xml to json

  • 写回答

2条回答 默认 最新

  • drx3157 2010-02-16 19:42
    关注

    Use format='json' instead: json_decode($response)[0]['text'].

    In this case, use JSON because it has a much more natural mapping to PHP's internal datatypes, which makes it dead-easy to extract the content you want. You can still use XML, but you have to iterate over the resulting structure, which is relatively complex.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
  • ¥100 如何用js写一个游戏云存档
  • ¥15 ansys fluent计算闪退