r-statistics中的TwitteR API,user_timeline请求

时间:2016-07-08 23:02:07

标签: r twitter

我只是尝试在R中使用TwitteR软件包,并且想要创建一个脚本来获取twitter列表中所有成员的所有最后一条推文。 所以我做的是:

library(twitteR)
library(rjson)
library(httr)

consumer_key <- xxx
consumer_secret <- xxx
access_token <- xxx
access_secret <- xxx
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)


TwGetListUser <- function(twlist, twowner) {
  api.url <- paste0("https://api.twitter.com/1.1/lists/members.json?slug=",
         twlist, "&owner_screen_name=", twowner, "&count=5000")
  response <- POST(api.url, config(token=twitteR:::get_oauth_sig()))
  response.list <- fromJSON(content(response, as = "text", encoding = "UTF-8"))

  users.names <- sapply(response.list$users, function(i) i$name)
  users.screennames <- sapply(response.list$users, function(i) i$screen_name)
  users <- list(users.names, users.screennames)
  return(users)
}

users <- TwGetListUser("bundestagsabgeordnete", "TwitterDE")

for(i in 1:length(users[[1]])) {
  tl <- userTimeline(screenname, n=100)
  Sys.sleep(25)
  if(length(tl) > 0) {
    df <- do.call(rbind, lapply(tl, function(x) x$toDataFrame()))
    tmp <- data.frame(df$text, df$created, screenname)
  } else {
    tmp <- data.frame("NA", "NA", screenname)
  }
  if(i > 1) {
    tweets <- merge(tweets, tmp, all=TRUE)
  } else {
    tweets <- tmp
  }
}

我总是得到同样的错误:

Fehler in twInterfaceObj$doAPICall(cmd, params, method, ...) : 
  OAuth authentication error:
This most likely means that you have incorrectly called setup_twitter_oauth()'

每次150次请求后,即使我在每次请求后都放了Sys.sleep(25),所以在1小时内减少了150个请求。 (我认为在API 1.1中,限制在15分钟内达到180?)

有人知道这个问题吗?

0 个答案:

没有答案