我正在尝试使用twitteR库检索R中许多用户的推文 . setup_twitter_oauth和许多其他函数如getUser,getFollowers都可以正常工作 . 我的问题是当我尝试在lapply(或for循环)中使用userTimeline时,它给了我一个OAuth身份验证错误 . (单独运行userTimeline可以正常工作 . )我在返回错误后使用了getCurRateLimitInfo(),并且所有命令都显示了可用的限制 .
这是我运行的代码片段 .
...
library("twitteR")
setup_twitter_oauth(api_key,api_secret,access_token,access_token_secret)
my_user <- getUser("my_twitter_name")
my_followers <- my_user$getFollowers(n=100)
tweets <- unlist(lapply(my_followers, function(x) userTimeline(x$id, n=100)))
运行lapply时出错(使用traceback):
Error in twInterfaceObj$doAPICall(cmd, params, method, ...) :
OAuth authentication error:
This most likely means that you have incorrectly called setup_twitter_oauth()'
10 stop("OAuth authentication error:\nThis most likely means that you have incorrectly called setup_twitter_oauth()'")
9 twInterfaceObj$doAPICall(cmd, params, method, ...)
8 doPagedAPICall(cmd, n, params, ...)
7 lapply(X = X, FUN = FUN, ...)
6 sapply(doPagedAPICall(cmd, n, params, ...), buildStatus)
5 statusBase(cmd, params, n, 3200, ...)
4 userTimeline(x$id, n = 100)
3 FUN(X[[i]], ...)
2 lapply(my_followers, function(x) userTimeline(x$id, n = 100))
1 unlist(lapply(my_followers, function(x) userTimeline(x$id, n = 100)))
我确实查找了OAuth错误,它似乎主要发生在setup_twitter_oauth期间,但不是其他功能 . 几个问题:
-
导致此错误的原因以及如何解决?
-
我的最终目标是从关注者或包含关注者用户名和推文的数据框中获取推文的向量 . 有没有更有效的方法来实现这一目标?
谢谢!
1 回答
我有同样的问题 . 删除受保护的用户解决了它尝试像
my_followers <- my_followers[protected == FALSE]
这样的东西应该可行 .