2010-11-23 2 views
3

Я видел милую демонстрацию твитов из R в презентации несколько месяцев назад. Код скретч используется ведущим здесь:Использование R для отправки твитов

http://www.r-bloggers.com/twitter-from-r%E2%80%A6-sure-why-not/

код короткий и сладкий: библиотеки ("RCurl") выбирает < - curlOptions (заголовок = FALSE, userpwd = «Имя пользователя: Пароль », Netrc = FALSE)

tweet <- function(status){ 
    method <- "http://twitter.com/statuses/update.xml?status=" 
    encoded_status <- URLencode(status) 
    request <- paste(method,encoded_status,sep = "") 
    postForm(request,.opts = opts) 
} 

с помощью этой функции вы можете отправить твит просто с помощью функции обновления:

tweet("This tweet comes from R! #rstats") 

Я думал, что это может быть полезным способом объявить о завершении длинных рабочих заданий. Я попытался запустить это на моей машине, и я получил ошибку:

[1] «\ п \ п Базовая аутентификация не поддерживается \ п \ п» атр («Content-Type») кодировок «приложение/XML» «UTF-8» Предупреждение сообщение: в postForm (запрос, .opts = КЛЮЧ): нет входов, передаваемые с образованием

мне интересно, если там были некоторые изменения на twitter end of this, которые делают этот код причиной этой ошибки? Я не слишком много знаю о том, как R разговаривать с веб-страницами, поэтому любое руководство очень ценится !!

E

ответ

11

Да, базовая схема аутентификации была отключена на 16 августа 2010 года .. Вы должны установить его использовать OAuth. К сожалению, это не так просто, как с использованием базовой аутентификации

Смотрите эту twitter wiki page для получения дополнительной информации и this StackOverflow question о OAuth для R.

9

Кроме кода вы показываете, есть также полномасштабная twitteR пакет на CRAN вас может посмотреть.

-1

twitteR Если не работает, или вы просто хотите, чтобы попытаться построить его самостоятельно ...

Смотрите here для демонстрации того, как сделать свою собственную проверку подлинности и использования API Twitter с помощью пакета HTTR ,

0

Самый простой способ чирикать в R через Twitter-API - использовать пакет twitteR. Вы можете настроить свой Twitter-API-APP здесь: https://apps.twitter.com/

Первый шаг аутентификации:

consumer_key <- "yourcredentials" 
consumer_secret <- "yourcredentials" 
access_token <- "yourcredentials" 
access_secret <- "yourcredentials" 
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret) 

И только чирикать (ограничение в день: 2400 чириканье):

tweet("Hello World") 
Смежные вопросы