Ошибка квитирования 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 для объяснения того, как он обрабатывает кэширование.
Вы должны быть готовы к работе!