我是新手,对于R和Shiny还不熟悉。
我试图创建一个简单的shiny应用程序,从twitter api中提取与搜索词相关的推文。在R Studio中,为了访问推特api,我运行以下身份验证代码:
> consumer_key<-'value1'
>consumer_secret<-'value2'
> access_token<-'value3'
> access_secret<-'value4'
> setup_twitter_oauth(consumer_key, consumer_secret, access_token,access_secret)
只有在上面四行执行后,我才能执行下面所示的实际搜索
tweets<-searchTwitter(search_term,n=input_number, since=start_date, until=end_date, lang='en')
( 也就是说,searchTwitter() 函数中变量的所有值都来自用户)
是否有一种方法可以保存认证凭据,以便应用程序始终在线(运行),并在进行搜索时加载凭据。
谢谢。
setup_twitter_oauth()
函数返回什么?是 token 吗?如果是的话,你可以跨会话缓存它。请参考httr
包中的?Token
。 - sckottlibrary(twitteR) library(ROAuth) library(RCurl)
- kRazzy R设置常量requestURL
requestURL <- "https://api.twitter.com/oauth/request_token"设置常量accessURL
accessURL <- "https://api.twitter.com/oauth/access_token"设置常量authURL
authURL <- "https://api.twitter.com/oauth/authorize" consumerKey <- "xxxxxxxxxxxxxxxxxx" consumerSecret <- "xxxxxxxxxxxxxxxxxx"` - kRazzy RtwitCred <- OAuthFactory$new(consumerKey=consumerKey, consumerSecret=consumerSecret, requestURL=requestURL, accessURL=accessURL, authURL=authURL)
保存和使用证书连接到Twitter#请求访问twitCred$handshake(cainfo="cacert.pem")
为了启用连接,我会将浏览器指向:https://api.twitter.com/oauth/authorize?oauth_token=xxxx
- kRazzy RregisterTwitterOAuth(twitCred)
#将其保存以备将来使用,通过下载Cred文件到文件夹中save(list="twitCred", file="twitteR_credentials")
#确保当前工作目录中有cacert.perm和twitteR_credentials文件。library (twitteR)
加载所需的包:ROAuth
加载所需的包:RCurl
加载所需的包:bitops
加载所需的包:digest
加载所需的包:rjson
load("twitteR_credentials")
registerTwitterOAuth(twitCred)
- kRazzy R