Получите мой последний пост в Twitter с PHP - PullRequest
0 голосов
/ 16 февраля 2010

Я пытаюсь сделать простой сайт, который использует php и API Twitter, чтобы выписать мой последний пост из твиттера. Я нашел учебник, показывающий, как получить свою временную шкалу (или последние 20 сообщений) в формате xml, но не могу понять, как распечатать просто последнее сообщение и просто текст (не время, дата и т. д., поставляемые с xml / rss / и т. д.).

Мой код выглядит так

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

И он возвращает это:

[{ "вклад": нулевой, "created_at": "Вт 16 февраля 19:56:08 +0000 2010" , "in_reply_to_user_id": нулевой, "источник": "API", "добавили в избранное" ложь "in_reply_to_status_id": нулевой, "усеченный": ложь, "пользователь": { "Оповещения": нулевой, "profile_link_color": "0000FF", "описание": "", "проверено" ложь "profile_background_tile" ложь "created_at": "Вт 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 Армстронг " "contributors_enabled" ложь "profile_text_color": "000000", "идентификатор": 114608397, "geo_enabled": правда, "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 был на вашем сайт "}, {" добавили в избранное ": ложь," источник ":" Интернет " "in_reply_to_user_id": нулевой, "created_at":" Вт 16 февраля 18:50:21 +0000 2010" , "гео": нулевой, "пользователь": { "проверено": ложь, "описание": "", "уведомление": ложный "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 16 февраля 01:16:15 +0000 2010" , "friends_count": 0, "profile_background_color": "9ae4e8", "contributors_enabled" ложь "TIME_ZONE": "Гавайи", "favourites_count": 0, "profile_sidebar_fill_color": "e0ff92", "защищенный": ложь , "место": "", "имя": "Крис Armstrong " "языки": "ан", "geo_enabled": правда, "profile_sidebar_border_color": "87bc44", "идентификатор": 114608397, "после": ложное "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 быстрая коричневая лиса перепрыгивает через ленивого собака "}]

Я довольно новичок в php и совершенно не знаком с API Twitter, поэтому буду признателен за любую помощь или совет.

edit: изменили пример с xml на json

Ответы [ 2 ]

2 голосов
/ 16 февраля 2010

Это просто ваш веб-браузер, отображающий содержимое XML-файла без тегов. Вам необходимо использовать библиотеку xml (например, simplexml, http://php.net/manual/en/book.simplexml.php), чтобы получить необходимую информацию.

изменить, чтобы отразить изменение OP

Используйте метод json_decode (см. http://www.php.net/manual/en/function.json-decode.php).. Выходные данные доступны как массив.

Для дальнейших вопросов также, пожалуйста, используйте документацию PHP и Google (я получил информацию о json, просмотрев "json in php").

2 голосов
/ 16 февраля 2010

Вместо этого используйте format = 'json': json_decode ($ response) [0] ['text'].

В этом случае используйте JSON, потому что он имеет гораздо более естественное отображение на внутренние типы данных PHP, что упрощает извлечение необходимого контента. Вы можете по-прежнему использовать XML, но вам придется перебирать получившуюся структуру, которая является относительно сложной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...