我注意到很多关于Twitter API身份验证问题的线索,但显然没有人认为我的问题有关。一旦我尝试进行身份验证,在我被要求输入PIN后,系统就会抛出错误(“未经授权”)。这是在我输入PIN之前发生的。
代码是:
library("twitteR")
library("RCurl")
library("ROAuth")
# Set SSL certs globally
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))
Credentials <- OAuthFactory$new(
consumerKey = "XX",
consumerSecret = "XX",
oauthKey = "XX",
oauthSecret = "XX",
requestURL = "https://api.twitter.com/oauth/request_token",
authURL = "https://api.twitter.com/oauth/authorize",
accessURL = "https://api.twitter.com/oauth/access_token")
Credentials$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
结果是:
To enable the connection, please direct your web browser to:
https://api.twitter.com/oauth/authorize?oauth_token=XX
When complete, record the PIN given to you and provide it here:
Error: Unauthorized
如上所述,这是在我实际输入个人识别码之前发生的。我在RStudio中运行脚本,但在经典R GUI上运行不会做任何更改。我正在运行R版本3.0.1。
Post Scriptum 我尝试了不同版本的代码,例如this one,但我得到完全相同的错误。
答案 0 :(得分:2)
您可以按照以下步骤操作:
reqURL <- "https://api.twitter.com/oauth/request_token"
accessURL <- "https://api.twitter.com/oauth/access_token"
authURL <- "https://api.twitter.com/oauth/authorize"
consumerKey <- "Mjn6tdsadsadkasdklad2SV1l"
consumerSecret <- "58Z7Eldsdfaslkf;asldsaoeorjkfksaVCQtvri"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,
consumerSecret=consumerSecret,
requestURL=reqURL,
accessURL=accessURL,
authURL=authURL)
twitCred$handshake()
运行此代码后,您将在R控制台消息中看到如下:
To enable the connection, please direct your web browser to:
https://api.twitter.com/oauth/authorize?oauth_token=scmVODruosvz6Tdsdadadasdsa
When complete, record the PIN given to you and provide it here:
只需将链接粘贴到您的浏览器然后授权应用,最后一个您将获得PIN码,只需将PIN码复制并粘贴到R控制台即可。
registerTwitterOAuth(twitCred)
如果您成功,R控制台将显示TRUE。
user <- getUser("xxx")
userTimeline(user, n=20, maxID=NULL, sinceID=NULL, includeRts=FALSE)
如果还有任何问题,请尝试显示您的软件包版本并更新到上一个版本
sessionInfo()
update.packages("twitteR")
twitteR的最后一个版本是1.1.7 =&gt; http://cran.r-project.org/web/packages/twitteR/index.html
你可以下载twitteR manual =&gt;请参阅第12页http://cran.r-project.org/web/packages/twitteR/twitteR.pdf