2017-02-17 2 views
0

Ich verwendete eine HTTP-POST-Methode unter Verwendung der URL "https://stream.twitter.com/1.1/statuses/filter.json" und in dem Body posten ich den Schlüssel/Wert, von dem ich Tweets erhalten wollte - zum Beispiel "track = london" . Das hat gut funktioniert.Zugriff auf Twitter mit Akka Camel zur Rückgabe von JSON

Jetzt versuche ich, zu AKKA-CAMEL zu wechseln, und ich benutze ihren Twitter-Verbraucher. Ich verwende eine Endpunkt-URL von:

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

ich eine Antwort von Twitter bekommen, aber es ist nicht in JSON und es ist nicht die gleiche Information über die tweet wie zuvor. Es gibt nur den Tweet-Text zurück, aber bevor ich die ganzen Metadaten bekommen habe, die ich analysieren muss.

Kann jemand Camel URI konfigurieren, um JSON und die gesamten Metadaten wie zuvor zurückzugeben?

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

Wo: Settings.queryList zurückkehrt einen kommagetrennte Liste von keyworkds

Dank

Antwort

0

ich dies mit folgenden Syntax zu arbeiten hätte. Das Objekt "tweeterCredentials" enthält die Schlüssel von Tweeter, um auf die Site zuzugreifen.

Auch ist es notwendig, AUTOACK wie dies in Camel zu setzen:

Überschreibung def AUTOACK = true

Dies verhindert, dass ein Timeout Ausnahme.