use*_*306 6 twitter r oauth twitter-oauth twitter-bootstrap
我试图用R和twitteR包来分析一些推文.握手和注册码似乎工作正常,我从R获得授权链接.但是,当我输入从https://api.twitter.com/oauth/authorize获得的PIN时,我得到一个"禁止错误".任何帮助表示赞赏.
代码:
TwitterOAuth<-function(){
reqURL <- "https://api.twitter.com/oauth/request_token"
accessURL <- "http://api.twitter.com/oauth/access_token"
authURL <- "http://api.twitter.com/oauth/authorize"
consumerKey <- "xxxxxxxxxxxxxxxx"
consumerSecret <- "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,
consumerSecret=consumerSecret,
requestURL=reqURL,
accessURL=accessURL,
authURL=authURL)
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))
twitCred$handshake()
registerTwitterOAuth(twitCred)
}
Run Code Online (Sandbox Code Playgroud)
响应:
TwitterOAuth()要启用连接,请将您的Web浏览器指向: http
://api.twitter.com/oauth/authorize ?oauth_token = X0AwET4FXBC7YRIWWN3iF61WFNE1DjxbfibqtfFjgcc完成后,记录提供给您的PIN并在此处提供:1998913
错误:禁止
我的sessionInfo()
R版本3.0.2(2013-09-25)平台:x86_64-w64-mingw32/x64(64位)
locale:[1] LC_COLLATE = Turkish_Turkey.1254 LC_CTYPE = Turkish_Turkey.1254 LC_MONETARY = Turkish_Turkey.1254 [4] LC_NUMERIC = C LC_TIME = Turkish_Turkey.1254
附加基础包:[1] stats graphics grDevices utils数据集方法库
其他附件包:[1] twitteR_1.1.7 rjson_0.2.13 ROAuth_0.9.3 digest_0.6.4 RCurl_1.95-4.1 bitops_1.0-6
通过命名空间加载(而不是附加):[1] tools_3.0.2
您可以按照此步骤操作(请不要忘记,有效的URL是使用https):
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()
Run Code Online (Sandbox Code Playgroud)
运行此代码后,您将在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:
Run Code Online (Sandbox Code Playgroud)
只需将链接粘贴到您的浏览器然后授权应用程序,最后一个您将获得PIN码,只需将PIN码复制并粘贴到您的R控制台即可.
registerTwitterOAuth(twitCred)
Run Code Online (Sandbox Code Playgroud)
如果您成功,R控制台将显示TRUE.
user <- getUser("xxx")
userTimeline(user, n=20, maxID=NULL, sinceID=NULL, includeRts=FALSE)
Run Code Online (Sandbox Code Playgroud)
基于此博客:http://thinktostart.wordpress.com/2013/05/22/twitter-authentification-with-r/
library(RCurl)
# Set SSL certs globally
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))
require(twitteR)
reqURL <- "https://api.twitter.com/oauth/request_token"
accessURL <- "https://api.twitter.com/oauth/access_token"
authURL <- "https://api.twitter.com/oauth/authorize"
consumerKey <- "yourconsumerkey"
consumerSecret <- "yourconsumersecret"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,consumerSecret=consumerSecret,requestURL=reqURL,accessURL=accessURL,authURL=authURL)
twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
registerTwitterOAuth(twitCred)
Run Code Online (Sandbox Code Playgroud)