【问题标题】:Accessing Twitter with Akka Camel to return JSON使用 Akka Camel 访问 Twitter 以返回 JSON
【发布时间】:2017-03-31 06:03:33
【问题描述】:

我使用的是使用 URL 的 HTTP POST 方法 “https://stream.twitter.com/1.1/statuses/filter.json”在正文中我发布了我想从中获取推文的键/值 - 例如“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 格式的,而且它与之前的推文信息不同。它只是返回推文文本,但在我获得需要分析的整个元数据之前。

有人知道如何配置 Camel URI 以像以前一样返回 JSON 和整个元数据吗?

谢谢

【问题讨论】:

    标签: twitter apache-camel akka akka-camel


    【解决方案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 返回一个逗号分隔的 keyworkds 列表。对象 tweeterCredentials 持有来自 Tweeter 的用于访问该站点的密钥。

    在 Camel 中也需要像这样设置 autoAck:

    覆盖 def autoAck = true

    这可以防止超时异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-13
      • 2014-06-19
      • 2013-09-08
      • 1970-01-01
      • 2015-06-11
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      相关资源
      最近更新 更多