2013-06-14 6 views
1

Есть ли способ получить все твиты из списка профилей (3), которые помечены определенным #hashtag в одном вызове API Twitter с использованием 1.1?Как получить хэштированные твиты из списка пользователей

Если нет, очевидно, я бы извлек сто твитов от каждого пользователя и отфильтровывал те, у которых нет #hashtag .. но это не очень эффективно, правильно?

Заранее спасибо

+0

Хорошо, я нашел, что я могу фильтровать мой вызов, чтобы я мог получить #hashtag сообщения из twitter user like this: [link] https://api.twitter.com/1.1/search/tweets.json?q=%23YourHashtag%20from:TwitterUserHandle&result_type=recent&count=25 ' Но есть ли способ отправки нескольких пользователей на вызов? – elQueFaltaba

+0

Вы правы, это было бы не очень эффективно. Сделайте столько фильтрации на своих серверах, сколько сможете, прежде чем данные будут возвращены на ваш собственный сервер. – Jimbo

+0

Я использую ваш прокси-сервер TwitterAPIExchange.php OAuth для выполнения вызовов. Спасибо за это, кстати. – elQueFaltaba

ответ

8

Примечание: Я обновил the library поэтому я предлагаю вам захватить недавно обновленную версию, прежде чем пытаться это - я сделал это так, что вам не нужно вручную кодировать каждый индивидуальный характер.

This page показывает, как использовать поиск, и имеет несколько операторов вниз в нижней части страницы. Одним из них является OR оператор:

Получение твиты для нескольких пользователей

ИЛИ - Либо это или что

love OR hate - containing either "love" or "hate" (or both)

От - От этого пользователя

from:twitterapi sent from the user @twitterapi

Итак, вооружившись выше знания, я предполагаю, ваш запрос будет выглядеть следующим образом:

Перевод на запрос GET:

?q=from:user1+OR+from:user2


Получение твиты для конкретных хэштегов

Так вот как вы получать твиты для нескольких пользователей. Следующий шаг, который вы хотите, это определенные хэштеги.

#haiku - containing the hashtag "haiku"

Это переводится индивидуально в правильный формат становится:

?#haiku(или% 2C хайку, в зависимости от библиотеки/urlencoding вы используете)


Объединяя выше

Стандартный оператор И выглядит как li ке это:

twitter search - containing both "twitter" and "search". Default operator

Для запроса GET:

Итак, давайте объединить все это!

?q=#hashtag1+#hashtag2+from:user1+OR+from:user2

И, потому что вы используете my lib, вот код, который:

$url = 'https://api.twitter.com/1.1/search/tweets.json'; 
$requestMethod = 'GET'; 

$getfield = '?q=#hashtag1+OR+#hashtag2+from:username1+OR+from:username2'; 

$twitter = new TwitterAPIExchange($settings); 
$json = $twitter->setGetfield($getfield) 
       ->buildOauth($url, $requestMethod) 
       ->performRequest(); 

var_dump(json_decode($json)); 
+0

Большое спасибо Jimbo !! Оцените усилия .. попробуете это как можно скорее! – elQueFaltaba

+0

Спасибо, кучка. :) –