Как использовать Twitter Streaming API с PHP? - PullRequest
3 голосов
/ 29 июля 2011

Мне удалось получить временную шкалу пользователя для отображения на моем веб-сайте с помощью

$tweets = simplexml_load_file("http://twitter.com/statuses/user_timeline/" . $userID . ".rss");

уже довольно давно. Однако, имея в последнее время все больше и больше страниц, я обнаружил, что получаю страшную ошибку HTTP 400 из-за ограничения скорости.

Я пытался разобраться в потоковом API-интерфейсе Twitter с небольшим успехом / без удачи (у меня нет опыта работы с OAuth / JSON, поэтому он мне совершенно чужд).

Я посмотрел код для TwitStream , который обеспечивает доступ к API поиска с помощью AJAX / JQuery. К сожалению, я не публикую достаточно сообщений, чтобы обеспечить согласованные результаты поиска, поэтому это не вариант.

Я не нашел документацию из Twitter очень полезной (я уверен, что это так, если JSON и т. Д. Не очень новы для вас), и я не нашел простых примеров сквозного использования потоковой передачи. API для извлечения последних x сообщений от пользователя (т.е. меня) с веб-страницы PHP. Существует множество примеров использования утилит командной строки (например, curl) для открытия потока, но это может быть невозможно на некоторых веб-серверах (возможно, у меня нет доступа к командной строке).

Я был бы очень признателен, если бы кто-нибудь смог предоставить мне код для простой PHP / AJAX / JQuery, но НЕ для веб-страницы Ruby / Python, которая извлекает последние 10 твитов из шкалы времени пользователя. Мне все равно, будет ли это опрос или что-то еще, просто было бы просто получить твиты на странице загрузки!

Итак, чтобы уточнить, я приведу простой пример (например, не беспокоиться о CSS / создание ответа JSON для человека удобочитаемым и т. Д.), Подобный TwitStream , но для извлечения пользовательских временных шкал и их отображения на веб-страницы.

Ответы [ 3 ]

0 голосов
/ 29 июля 2011

Попробуйте использовать этот класс https://github.com/KartikTalwar/Twitter-Class

Поставляется с отличными простыми примерами, и вы можете отображать тонны деталей всего с помощью пары строк кода

0 голосов
/ 31 июля 2011

Вы не можете обойти ограничение скорости при извлечении твитов с сервера, не выполнив одно из двух действий:

1) Сбрасывайте твиты через определенный промежуток времени и помещайте их в кеш на своем сайте

2) Пусть пользователи аутентифицируют себя и используют свои токены для извлечения твитов

Конечно, есть намного более простой способ сделать это. Запросите сроки в javascript на самой странице. Эти запросы на временной шкале будут учитываться по IP-адресу пользователя, который просматривает страницу, а не по вашему серверу.

Вот сайт, на котором есть образцы javascript для этого: http://www.mivamerchant.com/blog/how-to-make-custom-twitter-feed-for-your-website

0 голосов
/ 29 июля 2011

вы ищете что-то подобное?

`<?php
$username = "TwitterUsername"; // Your twitter username.
$limit = "5"; // Number of tweets to pull in.

/* These prefixes and suffixes will display before and after the entire block of tweets. */
$prefix = ""; // Prefix - some text you want displayed before all your tweets.
$suffix = ""; // Suffix - some text you want displayed after all your tweets.
$tweetprefix = ""; // Tweet Prefix - some text you want displayed before each tweet.
$tweetsuffix = "<br>"; // Tweet Suffix - some text you want displayed after each tweet.

$feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=" . $limit;

function parse_feed($feed, $prefix, $tweetprefix, $tweetsuffix, $suffix) {

$feed = str_replace("&lt;", "<", $feed);
$feed = str_replace("&gt;", ">", $feed);
$clean = explode("<content type=\"html\">", $feed);

$amount = count($clean) - 1;

echo $prefix;

for ($i = 1; $i <= $amount; $i++) {
$cleaner = explode("</content>", $clean[$i]);
echo $tweetprefix;
echo $cleaner[0];
echo $tweetsuffix;
}

echo $suffix;
}

$twitterFeed = file_get_contents($feed);
parse_feed($twitterFeed, $prefix, $tweetprefix, $tweetsuffix, $suffix);
?>`

Я нашел это по адресу: http://www.instantshift.com/2009/05/25/10-twitter-hacks-for-your-wordpress-blog/

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