twitteR и ROAuth - PullRequest
       4

twitteR и ROAuth

4 голосов
/ 21 февраля 2012

Я сейчас пытаюсь отправить твиты с R, но не могу обойти следующую ошибку:

Error in .self$twFromJSON(out) : 
  Error: Could not authenticate with OAuth.

Я следовал указаниям виньетки twitteR и другим вопросам стекового потока, касающимся этого вопроса (/5076029/roauth-v-windows-s-ispolzovaniem-r),, но, похоже, ни один из них не обошел эту ошибку. Вот код, который я использую:

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

requestURL <- "https://api.twitter.com/oauth/request_token"
accessURL = "http://api.twitter.com/oauth/access_token"
authURL = "http://api.twitter.com/oauth/authorize"
consumerKey = "*****************************"
consumerSecret = "************************"
Cred <- OAuthFactory$new(consumerKey=consumerKey,
                             consumerSecret=consumerSecret,
                             requestURL=requestURL,
                             accessURL=accessURL, 
                             authURL=authURL)
Cred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
registerTwitterOAuth(Cred)

Через здесь работает. registerTwitterOAuth возвращает TRUE, так что вы можете подумать, что все работает. Но когда я пытаюсь отправить твит, я получаю сообщение об ошибке, указанное выше.

Я пытаюсь отправить твит, выполнив:

tweet("text to tweet")

В результате:

Error in .self$twFromJSON(out) : 
  Error: Could not authenticate with OAuth.

Не уверен, что происходит не так. Кажется, проверка OAuth работает, но я не могу отправлять твиты.

Ответы [ 2 ]

3 голосов
/ 21 февраля 2012

Это , надеюсь, было разрешено с версией, которую я только что загрузил вчера. Если вы еще не используете ROAuth версии 0.9.1, можете ли вы обновить свой пакет и повторить попытку?

2 голосов
/ 15 мая 2013

Я только что обновил twitteR и ROAuth пакеты и выполнил эти команды, и у меня все заработало:

cred = getTwitterOAuth(consumerKey, consumerSecret)
registerTwitterOAuth(cred)
tweet("something incredibly interesting...")

Похоже, что twitterR теперь предоставляет более понятный интерфейс для регистрации учетных данных OAuth, который не требует явного использования вызовов OAuthFactory$new или handshake. Когда я попытался явно вызвать эти функции, все начало ломаться. Но когда я использовал интерфейс выше, все работало гладко.

...