Получив доступ к 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
Это предотвращает исключение тайм-аута.