2010-08-02 5 views
19

J'essaie d'utiliser R pour récupérer certaines données Web qui nécessitent une authentification OAuth. Une recherche sur CRAN et RSeek.org pour des informations sur OAuth + R ne fournit rien. Des conseils pour accéder aux API RESTful avec R en utilisant OAuth? J'utilise un peu de Python/Perl/Ruby pour récupérer les données, les enregistrer dans un fichier texte, puis travailler dessus avec R. Je préfère rester totalement dans R, mais il semble que OAuth soit une barrière.Accès OAuth pour R

+2

Vous pouvez également envisager l'utilisation de Python pour briser OAuth, puis en appelant R à partir de Python via RPy2 ou Pyper – DrewConway

+0

Hmmm .. Que diriez-vous d'appeler Python de R? Puisque je veux faire la plupart de mon analyse dans R, il semble logique d'envelopper uniquement les bits de récupération de données en Python, puis de renvoyer un objet quelconque à R. –

+0

Est-ce que c'est pour les données Twitter? –

Répondre

2

Une option sur laquelle j'ai trébuché est appelée OAuth Proxy et elle glisse les en-têtes OAuth en utilisant un proxy. C'est un kludge intéressant.

1

Une autre possible, en supposant que vous avez accès aux fonctions de chiffrement nécessaires à R, vous pouvez mettre en œuvre OAuth complètement les requêtes HTTP sans support lib etc.

Tout en écrivant une lib oauth complète peut être trop demander, si Vous avez juste besoin d'un moyen rapide et efficace de récupérer les données, il ne devrait pas être trop difficile de créer les quelques fonctions dont vous avez besoin pour compléter une requête oauth. De plus, bien que R ne possède pas de bibliothèque oauth, la partie la plus difficile de oauth réside dans l'interaction entre les serveurs, pas dans la création des jetons/requêtes. Vous devriez donc pouvoir consulter l'implémentation et le port d'une autre langue la logique requise pour R. Je suggérerais de regarder une lib simple de http://oauth.net/code/ pour un point de départ.

1

Il est possible de le faire avec la bibliothèque Rbordage ainsi. L'essentiel est que vous analysiez les access_tokens et les vérifications d'autorisation correctement. Mais j'ai réussi à tirer beaucoup de données sur facebook avec R via getURL.