我正在尝试使用 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 时出错(带回溯):
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 期间,而不是其他函数期间。有几个问题:
- 导致此错误的原因以及如何解决?
- 我的最终目标是从关注者获取推文向量或包含关注者用户名和推文的数据框。有没有更有效的方法来实现这一目标?
谢谢!
最佳答案
我也遇到了同样的问题。删除 protected 用户解决了这个问题。
尝试类似 my_followers <- my_followers[protected == FALSE]
它应该可以工作。
关于r twitter userTimeline 错误 oauth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36798249/