我只是尝试在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?)
有人知道这个问题吗?