无法通过tweet_mode ='扩展' twitteR的searchTwitter函数中API的参数

时间:2017-05-31 02:06:05

标签: r twitter

我一直在使用twitteR软件包的searchTwitter函数来推送推文,但我看到很多都被截断了。考虑到这一点,我发现有一个参数,tweet_mode =' extended',可以传递给API以防止截断。这在他们的论坛上描述:

https://twittercommunity.com/t/retrieve-full-tweet-when-truncated-non-retweet/75542/8

此函数的文档说明GET的其他参数可以作为额外的省略号参数传递。这是链接:

https://www.rdocumentation.org/packages/twitteR/versions/1.1.9/topics/searchTwitter

但是,当我尝试此操作时,会发生以下错误:

tweets <- searchTwitter("somesearchtext", n = 10, lang = "en", 
tweet_mode='extended')
Error in tw_from_response(out, ...) : 
  unused argument (tweet_mode = "extended")

你们有没有想过这个或找到了解决方法?我花了很长时间搜索这个,但找不到任何答案,说明为什么这在twitteR软件包中不起作用。

感谢您的时间。

1 个答案:

答案 0 :(得分:3)

searchTwitter()的源代码中,似乎不是tweet_mode的参数。

但是,您应该注意到twitteRbeen deprecated支持rtweet

来自Github自述文件:

  

这是twitteR相对悠闲的弃用期的开始,赞成使用rtweet。请开始寻找切换到该包。如果您有任何问题,请联系我自己或@mkearney

search_tweets中的rtweet函数通过...

将更多参数传递给Twitter API

在这种情况下,存在参数full_textdefaults to TRUE)。当此设置为TRUE时,它会将Twitter API的tweet_mode参数设置为“扩展”。所以你应该默认看到扩展的推文

search_tweets的源代码显示了您可以传递的其他参数

https://github.com/mkearney/rtweet/blob/d81527588f578cbe984af7a29235503ca66b5a24/R/search.R#L456

if (full_text) {
    full_text <- "extended"
} else {
    full_text <- NULL
}
## make params list
params <- list(q = q,
            result_type = type,
            count = 100,
            max_id = max_id,
            tweet_mode = full_text,
            geocode = geocode,
             ...)
## make url
url <- make_url(
    query = query,
    param = params)

所以你的搜索功能应该按原样运作

library(rtweet)

rt <- search_tweets("data science", n = 1000)