2017-02-17 15 views
0

Я использовал HTTP POST-метод, используя URL-адрес «https://stream.twitter.com/1.1/statuses/filter.json», и в теле я отправлял ключ/значение, на которое я хотел получить твиты, например, «track = london», , Это работало нормально.Доступ к Twitter с Akka Camel для возврата 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, и это не та же информация о твиттере, как и раньше. Он просто возвращает текст твита, но прежде, чем я получу все метаданные, которые мне нужно проанализировать.

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

Благодаря

ответ

0

я получил эту работу, используя следующий синтаксис:

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 вернуться через запятую список keyworkds. Объект tweeterCredentials содержит ключи от Tweeter для доступа к сайту.

Также необходимо установить autoAck, как это в Camel:

переопределение Защиту autoAck = TRUE

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