2010-11-23 25 views
3

J'ai vu une jolie démonstration de tweeting de R dans une présentation il y a quelques mois. Le code zéro utilisé par le présentateur est ici:Utiliser R pour envoyer des tweets

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

le code est court et doux: bibliothèque ("Rbordage") opte < - curlOptions (tête = FALSE, userpwd = « nom d'utilisateur: Mot de passe », netrc = FAUX)

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

Avec cette fonction, vous pouvez envoyer un tweet en utilisant simplement la fonction de mise à jour:

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

Je pensais que cela pourrait être un moyen utile d'annoncer quand de longs travaux sont terminés. J'ai essayé de l'exécuter sur ma machine, et je suis une erreur:

[1] "\ n \ n L'authentification de base est pas pris en charge \ n \ n" attr ("Content-Type") charset "application/xml" "utf-8" message d'avertissement: en postform (demande, .opts = opts): Pas de valeurs entrées pour former

Je me demande s'il y a eu quelques changements sur la Twitter fin de ceci, qui font que ce code produise cette erreur? Je ne sais pas trop de choses à faire pour que R parle aux pages web, donc n'importe quel conseil est très apprécié !!

E

Répondre

11

Oui, le système d'authentification de base a été désactivé le 16 Août 2010 .. Vous aurez besoin de le configurer pour utiliser OAuth. Malheureusement, ce n'est pas presque aussi simple que d'utiliser l'authentification de base

Voir cette twitter wiki page pour plus d'informations et this StackOverflow question à propos OAuth pour R.

9

Outre le code que vous montrer, il y a aussi un paquet twitteR complet sur vous CRAN pourrait regarder.

-1

Si twitteR ne fonctionne pas ou vous voulez simplement essayer de construire vous-même ...

Voir here pour une démonstration de la façon de faire votre propre authentification Twitter et l'utilisation de l'API avec l'aide du paquet HTTR .

0

Le moyen le plus simple de tweeter en R via l'API Twitter est d'utiliser le paquet twitteR. Vous pouvez configurer votre Twitter API-APP ici: https://apps.twitter.com/

La première étape consiste à authentifier:

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

Et gazouiller (limite par jour: 2400 tweets):

tweet("Hello World")