使用twttr和其他Clojure twitter api库我发送推文或更新没有问题,但我无法搜索或过滤关键字的推文。
我将以下命令放入repl中:
(ns twitter-search.core
(:require [twttr.api :as api ]
[twttr.auth :refer [env->UserCredentials]]))
然后我输入凭据,如下所示:
(def app-consumer-key "my key from dev.twitter " )
对于app-consumer-secret访问和秘密令牌也是如此;一切似乎很好,因为当我输入repl app-consumer-key时,它返回的密钥都很好。
然后我做的凭据:
(def creds (env->UserCredentials))
我通过编写一个小函数让用户显示工作正常:
(defn show-user [handle]
(api/users-show creds :params {:screen_name handle}))
然后当我在repl中运行(show-user“jack”)时,我得到所有期望的json数据,这样就好了。
我遇到的问题是搜索推文。当我把以下内容放入repl时:
(api/search-tweets creds :params {:q "football"})
除了从当前命名空间转到它之外什么都不做
twitter-search.core=>
至
#_=>
如果您可以指出我出错的地方或发送如何搜索包含某些单词的推文的示例,我将非常感激。
我甚至做了很长的尾巴搜索,并从另一个Twitter帐户发布了相同的术语,看看我是否可以提示程序检测到推文但没有发生任何事情。
(ns twitter-search.core
(:require [twttr.api :as api ]
[twttr.auth :refer [env->UserCredentials]]))
(def app-consumer-key "my key from dev.twitter " )
(def creds (env->UserCredentials))
(defn show-user [handle]
(api/users-show creds :params {:screen_name handle}))
;; The problem I am having is searching for tweets.
;; When I put the following into the repl:
(api/search-tweets creds :params {:q "football"})
;; It does nothing, other than go from the current namespace
twitter-search.core=>
;; To
#_=>
我只是想知道如何使用twttr clojure库根据推文中的某些关键字过滤掉推文。我知道这可能看起来是一个愚蠢的问题,但是,我是Clojure的新手,我没有在任何地方找到一个有效的例子,并且多次尝试让它工作。
我觉得很傻:-(
我能够解决它,不确定导致问题的原因;我经常尝试多次解决这个问题,我经常在发布之前自己回答。
无论如何,以下函数返回了我想要的东西:
(defn keyword-return [keyword]
(api/search-tweets creds :params {:q keyword}))