2013-08-28 33 views
6

Używam R Studio na AWS "Ubuntu Server 12.04.2 LTS" i dostęp do R Studio przez moją przeglądarkę.ROAuth nie jest już używany na rzecz httr? [Twitter API]

Przy próbie uwierzytelnienia na Twitterze API przy użyciu pakietu ROAuth z kodem:

credential<-OAuthFactory$new(consumerKey="xxxxx", 
          consumerSecret="xxxxx", 
          requestURL="https://api.twitter.com/oauth/request_token", 
          accessURL="https://api.twitter.com/oauth/access_token", 
          authURL="https://api.twitter.com/oauth/authorize") 

credential$handshake() 
registerTwitterOAuth(credential) 

dostaję błąd po registerTwitterOAuth(credential) mówiąc

Error in registerTwitterOAuth(credential) : 
    ROAuth is no longer used in favor of httr, please see ?setup_twitter_oauth 

Jednak nie mogę znaleźć żadnego dalszego wyjaśnienie ..

Odpowiedz

5

Wygląda na to, że pakiet twitteR został zmieniony tuż przed opublikowaniem, więc nowy sposób uwierzytelniania to

setup_twitter_oauth(CUSTOMER_KEY, CUSTOMER_SECRET, ACCESS_TOKEN, ACCESS_secret, credentials_file=NULL) 

zobaczyć https://github.com/geoffjentry/twitteR

0

jestem posiadające niektóre problemy przy użyciu funkcji setup_twitter_oauth. Uruchom następujący kod i nie otrzymuję obiektu po uruchomieniu funkcji setup_twitter_oauth lub załadowaniu pliku referencji.

Następnie po prostu ładuję plik cred_1.RData i otrzymuję sig objetc, który nie wydaje się być użyteczny.

Jestem w systemie Windows i zainstalowałem wersję pakietu Github.

rm(list = ls(,all=T)) 


setwd("D:\\TWEETS\\cuenta_1") 
library(twitteR) 
library(httr) 

# Credenciales 

consumer_key = "xxxxxxxxxxxxxxxx" 
consumer_secret = "xxxxxxxxxxxxxxxx" 
access_token = "xxxxxxxxxxxxxxxxxxx" 
access_secret = "xxxxxxxxxxxxxxxx" 

credentials_file = "cred_1.RData" 

setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret, credentials_file) 
load_twitter_oauth("cred_1.RData") 

ls() 

> ls() 
[1] "access_secret" "access_token"  "consumer_key"  "consumer_secret" 
[5] "credentials_file" 


> load("cred_1.RData") 
> 
> ls() 
[1] "access_secret"  "access_token"  "consumer_key"  "consumer_secret" "credentials_file" "load_twitter_oauth" "set_oauth_sig"  
[8] "sig"    
> 
> print(sig) 
Config: 
List of 1 
$ signature:function (method, url) 
1

Mam pewne problemy z funkcją setup_twitter_oauth(). Uruchomiłem poniższy kod i zadziałało to dla mnie bez żadnego błędu.

library(RCurl) 
require(twitteR) 
library(ROAuth) 
reqURL <- "https://api.twitter.com/oauth/request_token" 
accessURL <- "https://api.twitter.com/oauth/access_token" 
authURL <- "https://api.twitter.com/oauth/authorize" 
api_Key <- "XXXXXXX" 
api_Secret <- "XXXXXXXXXXXXXXXXX" 

twitCred <- OAuthFactory$new(consumerKey=api_key, 
          consumerSecret=api_secret, 
          requestURL=reqURL, 
          accessURL=accessURL, 
          authURL=authURL 
) 
twitCred$handshake() 

EDIT:

Wystarczy teraz klasyfikowane problemy miałem z mojej aplikacji access_token, teraz setup_twitter_oauth funkcja działa doskonale.

Wypróbuj poniższy kod do uwierzytelniania Twitter z R, jeśli api_key, api_secret, acsess_token, access_token_secret są generowane bez błędów.

api_key = "XXXXXXXXX" // your api_key 
api_secret = "XXXXXXXXXX" // your api_secret 
access_token = "XXXXXXXXXX" // your access_token 
access_token_secret = "XXXXXXXXXX" // your access_token_sceret 
setup_twitter_oauth(api_key,api_secret,access_token, 
        access_token_secret) 
1

Następujące pracował dla mnie:

packages <- c("twitteR","ROAuth")#"openssl","base64enc" 
### checking if packages are already installed and installing if not 
check.install.load.Package<-function(package_name){ 
    if(!package_name%in%installed.packages()){ 
    install.packages(package_name) 
    } 
    library(package_name,character.only = TRUE) 
} 
for(package in packages){ 
    check.install.load.Package(package) 
} 


api_key = "XX" # your api_key 
api_secret = "XX" # your api_secret 
access_token = "XX" # your access_token 
access_token_secret = "XX" # your access_token_sceret 
credential<-OAuthFactory$new(consumerKey=api_key, 
          consumerSecret=api_secret, 
          requestURL="https://api.twitter.com/oauth/request_token", 
          accessURL="https://api.twitter.com/oauth/access_token", 
          authURL="https://api.twitter.com/oauth/authorize") 

credential$handshake() 

setup_twitter_oauth(api_key,api_secret,access_token, 
        access_token_secret) 



search.string <- "#RohingyaTerrorReality" 
no.of.tweets <- 60 

RohingyaTerrorReality.Tweets <- searchTwitter(search.string, n=no.of.tweets,lang="en",) 



df <- do.call("rbind", lapply(RohingyaTerrorReality.Tweets, as.data.frame)) 
View(df)