Мне нужно создать модуль Twitter полностью на стороне клиента.
Я намеревался использовать Twitter API для данных и YQL для передачи Одинаковая политика происхождения , а также для более высокого ограничения скорости.Я использовал эту комбинацию раньше с успехом.
Одна вещь, которую мне нужно сделать, это получить список твитов с хэштегом и от конечного набора пользователей.
Получает твиты с хэш-тегом #stackoverflow пользователями alexdickson и lizardbill.
#stackoverflow
alexdickson
lizardbill
Мне также нужно получить другой набор твитов.
Получает все твиты с хэш-тегом #stackoverflow.
Теперь мне нужно отобразить вторую коллекцию, но исключая результаты из первого набора.Это будет diff результатов, таких как PHP array_diff().
array_diff()
. Для полноты мне также может понадобиться что-то достичь, получив пересечение двух результатовто есть список твитов, которые появляются в обоих наборах результатов.Это похоже на PHP array_intersect().
array_intersect()
Уже давно я использую SQL и не могу придумать, как этого добиться в YQL.
YQL поддерживает подвыборы (подзапросы).См. Соединение таблиц с подвыборками .Подвыборы используются с оператором IN для фильтрации результатов внешнего выбора.
IN
Для вашего конкретного запроса также существует twitter.search Community OpenТаблица данных доступна для спасения вас от создания URL-адресов Twitter и использования таблицы json.
twitter.search
json
select * from twitter.search where q="#stackoverflow" and id not in ( select id from twitter.search where q="#stackoverflow from:alexdickson, OR from:lizardbill" )
( Попробуйте этот запрос в консоли YQL .)
Похоже, я наконец-то понял.YQL поддерживает подзапросы.
SELECT results FROM json WHERE url = "http://search.twitter.com/search.json?q=%23stackoverflow" AND results.id NOT IN (SELECT results.id FROM json WHERE url = "http://search.twitter.com/search.json?q=%23stackoverflow%20from%3aalexdickson,%20OR%20from%3alizardbill" )
Консоль YQL .