Ошибка квитирования ROAuth twitteR: не генерируется опция PIN

Этот вопрос фактически отвечает на все вопросы, связанные с проблемами ROAuth twitteR:

TwitteR, ROAuth и Windows: регистрация в порядке, но проверка сертификата не удалась

TwitteR и ROAuth и раньше отлично работали на моем компьютере. Но блок кода больше не генерирует опцию PIN. Выскакивает следующее:

twitCred$handshake(cainfo="cacert.pem")
Error: Unauthorized

Ранее twitCred$handshake(cainfo="cacert.pem") направляет:

To enable the connection, please direct your web browser to: 
https://api.twitter.com/oauth/authorize?oauth_token=SevxcpCh9riO5PPrI8U8____
When complete, record the PIN given to you

Я попробовал свой код на сервере spark rstudio. Тогда код работает отлично (генерируя опцию для ввода PIN-кода, который в настоящее время не генерируется на моем компьютере). Код является:

require(twitteR)
require(ROAuth)

requestURL <- "https://api.twitter.com/oauth/request_token"
accessURL <- "https://api.twitter.com/oauth/access_token"
authURL <- "https://api.twitter.com/oauth/authorize"
consumerKey <- "______________"
consumerSecret <- "___________________"


twitCred <- OAuthFactory$new(consumerKey=consumerKey,
consumerSecret=consumerSecret, requestURL=requestURL, accessURL=accessURL,
authURL=authURL)


setwd("/home/__")
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")
twitCred$handshake(cainfo="cacert.pem")
  To enable the connection, please direct your web browser to: 
  https://api.twitter.com/oauth/authorize?oauth_token=SevxcpCh9riO5PPrI8U8____
  When complete, record the PIN given to you

Любая помощь приветствуется.

2 ответа

Решение
twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))

Это сработало для меня.

Приложение Twitter должно иметь права на чтение и запись. Именно это и заставило меня обойти ошибки авторизации. Пожалуйста, обратите внимание на следующие инструкции:

Создайте приложение для Twitter на http://dev.twitter.com/. Убедитесь, что приложение предоставило права на чтение, запись и отправку сообщений. Обратите внимание на следующие значения со страницы приложения Twitter: "Ключ API", "Секрет API", "Токен доступа" и "Секрет токена доступа".

install.packages (c ("devtools", "rjson", "bit64", "httr")) Обязательно перезапустите сеанс R на этом этапе

библиотека (devtools) install_github("twitteR", username="geoffjentry") библиотека (twitteR) setup_twitter_oauth("ключ API", "секрет API")

Ключ API и секрет API находятся на странице приложения Twitter выше. Это проведет вас через процесс аутентификации httr OAuth. Я рекомендую вам взглянуть на справочную страницу по токену в httr для объяснения того, как он обрабатывает кэширование.

Вы должны быть готовы к работе!

Другие вопросы по тегам