使用 Akka Camel 访问 Twitter return JSON
Accessing Twitter with Akka Camel to return JSON
我使用的是 HTTP POST 方法,使用 URL
“https://stream.twitter.com/1.1/statuses/filter.json”,在正文中我发布了 key/value 我想从中获取推文 - 例如 "track=london"。这工作正常。
现在我正在尝试切换到 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}"
我从 Twitter 收到了回复,但它不在 JSON 中,而且与之前的推文信息不同。它只是 return 推文文本,但在我获取需要分析的整个元数据之前。
有人知道如何像以前一样将 Camel URI 配置为 return JSON 和整个元数据吗?
谢谢
我使用以下语法让它工作:
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 return 逗号分隔的关键字列表。对象 tweeterCredentials 持有来自 Tweeter 的密钥以访问该站点。
还有必要在 Camel 中像这样设置 autoAck:
override def autoAck = true
这可以防止超时异常。
我使用的是 HTTP POST 方法,使用 URL “https://stream.twitter.com/1.1/statuses/filter.json”,在正文中我发布了 key/value 我想从中获取推文 - 例如 "track=london"。这工作正常。
现在我正在尝试切换到 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}"
我从 Twitter 收到了回复,但它不在 JSON 中,而且与之前的推文信息不同。它只是 return 推文文本,但在我获取需要分析的整个元数据之前。
有人知道如何像以前一样将 Camel URI 配置为 return JSON 和整个元数据吗?
谢谢
我使用以下语法让它工作:
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 return 逗号分隔的关键字列表。对象 tweeterCredentials 持有来自 Tweeter 的密钥以访问该站点。
还有必要在 Camel 中像这样设置 autoAck:
override def autoAck = true
这可以防止超时异常。