PHP ile benim en son Twitter mesajı alın

2 Cevap php

Ben twitter benim son yazı yazmak için php ve Twitter API'sini kullanan basit bir site yapmaya çalışıyorum. Xml formatında benim çizelgesi (veya son 20 mesaj) nasıl bana gösteren bir öğretici buldum, ama just Son mesajı yazdırmak için nasıl anlamaya olamaz, ve just o metni (xml / rss / vb vb gelip değil zaman, tarih,).

Benim kod gibi görünüyor

<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>

Ve bu iade ediyor:

[{"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"}]

Ben php için oldukça yeni ve Twitter API tamamen yeni değilim, bu yüzden herhangi bir yardım veya tavsiye seviniriz.

edit: Have changed example from xml to json

2 Cevap

Yerine biçimi = 'json' kullanın: json_decode ($ yanıt) [0] ['text'].

O ölü kolay istediğiniz içeriği ayıklamak için yapar PHP'nin dahili veri türleri için çok daha doğal bir eşleme sahiptir, çünkü bu durumda, JSON kullanın. Sen can hala XML kullanmak, ancak nispeten karmaşık çıkan yapısı, üzerinde yinelemek zorunda.

Bu etiketleri olmadan xml dosyasının içeriğini görüntüleyen sadece WebBrowser'ın. İstediğiniz bilgi almak için (http://php.net/manual/en/book.simplexml.php, örneğin SimpleXML) bir xml kitaplığı kullanmak gerekiyordu.

edit to reflect OP change

(http://www.php.net/manual/en/function.json-decode.php bakınız) json_decode yöntemini kullanın. Çıkışı bir dizi gibi erişilebilir.

Diğer sorularınız için, ayrıca, (I "php json" Googleing ile json hakkında bilgi aldı) PHP ve google belgeleri kullanın lütfen.