Получив доступ к Twitter с помощью Akka Camel, вы получите JSON

Я использовал метод HTTP POST, используя URL-адрес " https://stream.twitter.com/1.1/statuses/filter.json", и в теле я публиковал ключ / значение, от которого я хотел получить твиты - например " трек = лондон". Это работало нормально.

Сейчас я пытаюсь перейти на AKKA-CAMEL и использую их Twitter-потребитель. Я использую URL конечной точки:

def endpointUri: String = s"twitter:////search?type=direct&keywords=${Settings.queryList()}&consumerKey=${tweeterCredentials.consumerKey}&consumerSecret=${tweeterCredentials.consumerSecret}&accessToken=${tweeterCredentials.accessToken}&accessTokenSecret=${tweeterCredentials.accessTokenSecret}"

Я получаю ответ из твиттера, но его нет в JSON, и он не та информация о твите, как раньше. Он просто возвращает текст твита, но прежде чем я получил все метаданные, которые мне нужно проанализировать.

Кто-нибудь знает, как настроить Camel URI для возврата JSON и метаданных целиком, как раньше?

Спасибо

1 ответ

Я получил это для работы с помощью следующего синтаксиса:

def endpointUri: String = s"twitter://streaming/filter?type=event&keywords=${Settings.queryList()}&consumerKey=${tweeterCredentials.consumerKey}&consumerSecret=${tweeterCredentials.consumerSecret}&accessToken=${tweeterCredentials.accessToken}&accessTokenSecret=${tweeterCredentials.accessTokenSecret}"

Где: Settings.queryList возвращает список ключевых слов, разделенных запятыми. Объект tweeterCredentials содержит ключи от Tweeter для доступа к сайту.

Также необходимо установить autoAck следующим образом в Camel:

переопределить def autoAck = true

Это предотвращает исключение тайм-аута.

Другие вопросы по тегам