ROAuth больше не используется в пользу httr? [API Твиттера]

Я запускаю R Studio на AWS «Ubuntu Server 12.04.2 LTS» и получаю доступ к R Studio через браузер.

Когда я пытаюсь пройти аутентификацию в Twitter API, используя пакет ROAuth с кодом:

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)

Я получаю сообщение об ошибке после того, как registerTwitterOAuth(credential) говорю

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

Однако я не могу найти никакого дальнейшего объяснения.


person SPi    schedule 28.08.2013    source источник


Ответы (5)


Очевидно, пакет twitteR был изменен прямо перед тем, как я опубликовал это, поэтому новый способ аутентификации:

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

см. https://github.com/geoffjentry/twitteR

person SPi    schedule 28.08.2013

У меня были некоторые проблемы с функцией setup_twitter_oauth(). Я запустил следующий код, и он работал у меня без ошибок.

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()

ИЗМЕНИТЬ:

Только что разобрался с проблемами, которые у меня были с access_token моего приложения, теперь функция setup_twitter_oauth работает отлично.

Попробуйте приведенный ниже код для аутентификации Twitter с помощью R, если ваши api_key, api_secret, acsess_token, access_token_secret генерируются без ошибок.

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)
person Deepak selva    schedule 03.11.2015

Для меня работало следующее:

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)
person served_raw    schedule 13.09.2017

Вот скрипт R, который работал у меня:

 library("twitteR")
 library("ROAuth")

download.file(url= "http://curl.haxx.se/ca/cacert.pem", destfile= "cacert.pem")
credentials <- OAuthFactory$new(consumerKey='XXXXXXXXXXXXXXXXXX',
  consumerSecret='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
  requestURL='https://api.twitter.com/oauth/request_token',
  accessURL='https://api.twitter.com/oauth/access_token',
  authURL='https://api.twitter.com/oauth/authorize')

credentials$handshake(cainfo="cacert.pem")

save(credentials, file="twitter authentication.Rdata")

load("twitter authentication.Rdata")

setup_twitter_oauth(credentials$consumerKey, credentials$consumerSecret, 
credentials$oauthKey, credentials$oauthSecret)
person keerthi    schedule 27.10.2018

У меня возникли проблемы с использованием функции setup_twitter_oauth. Я запускаю следующий код и не получаю объект после запуска функции setup_twitter_oauth или загрузки файла учетных данных.

Затем я просто загружаю файл cred_1.RData и получаю объект sig, который не кажется мне полезным.

Я на Windows и установил версию пакета 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)  
person marbel    schedule 04.11.2013