Получать общедоступные твиты через twitter api 1.1 через код на стороне клиента (js)
Я работаю на базовой личной домашней странице, состоящей из одного html-документа, файла .css и jquery *.js. Я хочу создать блог-иш-просмотр через выбор содержимого страницы из твитов. Стандартный виджет не подходит для внешнего вида страницы.
Я могу получить публичные твиты из любой учетной записи без проверки подлинности (это дерьмо, потому что это общедоступные данные) через API v1. Но с API v1.1 он возвращает ошибку аутентификации. Он хочет, чтобы я аутентифицировался для получения общедоступных данных. Попробуйте перейти этот URL. он показывает ({"errors":[{"message":"Bad Authentication data","code":215}]});
.
Мой вопрос в том, есть ли способ получить общедоступные твиты через js стороны клиента? Я не хочу создавать приложение, чтобы просто извлекать общедоступные данные. Я не хочу использовать identi.ca или иначе, но Twitter заставляет меня делать.
После комментария Захари Кинебеля к Нургуарду, я подумал, что комментарий Норгуарда может быть полезным для других, я должен сказать следующее:
/search.json?q=from:nerdswguitars
=== Последние твиты от NerdsWGuitars /search.json?q=to:nerdswguitars
=== Последние твиты для NerdsWGuitars /search.json?q=from:nerdswguitars
ИЛИ to:nerdswguitars
=== оба. /[email protected]
=== сообщения с участием NerdsWGuitars. /search.json?q=#nerdswithguitars
=== сообщения тренда "nerdswithguitars". Но вы ДОЛЖНЫ убедиться, что вы правильно кодируете URL-запрос. Подробнее здесь: https://dev.twitter.com/docs/using-search, и если вы не можете найти то, что вы ищете, из этого вы должны быть намного больше удельная
Ответы
Ответ 1
ИЗМЕНИТЬ
В прекрасном мире плохих идей, Twitter затягивает этот ответ, начиная с мая 2013 года, и потребует, как минимум, чтобы вы либо использовали один из своих виджетов, либо запустили его, либо установили приложение и выполнять проверку подлинности на уровне приложений, даже для запросов GET
для публичных сроков.
Если они передумают или задерживают выброс переключателя, это по крайней мере будет оставаться здесь.
Используйте API поиска:
"http://search.twitter.com/search.json?q=nerdswguitars"
Вы можете использовать URL-кодированные #
или @
перед поисковыми запросами. Вы также можете использовать ключевые слова, такие как from
или to
, и указать ограничения и т.д.
Ответ 2
Вы можете использовать Mooch - небольшое приложение, предназначенное для решения этой проблемы. Настройка новой службы Mooch очень проста и использует Heroku.
для развертывания требуется приложение Heroku Toolbelt.
Шаг 1: Создайте приложение Twitter
Шаг 2: Получить Mooch
- Клонировать хранилище Git (
git clone [email protected]:eloquent/mooch.git
).
- Перейдите в корневой каталог Mooch.
Шаг 3. Создание приложения Heroku
- Войдите в Heroku Toolbelt (
heroku login
).
- Создайте новое приложение с
heroku create
.
Шаг 4: Конфигурация
Mooch аутентифицирует запросы в API Twitter с помощью приложения
аутентификации. Для этого требуется ключ и секрет пользователя от
Приложение Twitter, созданное на шаге 1.
Пример конфигурации проверки подлинности
heroku config:set MOOCH_CONSUMER_KEY=xvz1evFS4wEEPTGEFPHBog
heroku config:set MOOCH_CONSUMER_SECRET=L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg
Шаг 5: Развертывание
Теперь новая служба Mooch должна быть готова к использованию. Проверьте Heroku
dashboard для местоположения службы.
Более подробные инструкции по настройке, демонстрационное приложение и многое другое, проверьте Mooch README на GitHub.