2016-10-10 3 views
0

Ich bin super neu zu R, ich habe versucht, eine Verbindung zu Rosette API über R und ich habe Curl-Skript unten. Wie verbinde ich das mit R? Ich habe meinen persönlichen API-Schlüssel erhalten.API-Authentifizierung mit rCURL

curl "https://api.rosette.com/rest/v1/ping" -H 'X-RosetteAPI-Key: [your_api-key]' 

Dank Peddie

Antwort

3

Das curlconverter Paket war für diese maßgeschneidert.

Sie können Ihre cURL Befehlszeile nehmen und entweder in die Zwischenablage kopieren oder direkt übergeben. Wenn Sie ihn in die Zwischenablage kopieren, dann rufen Sie straighten() ohne Parameter:

library(curlconverter) 

flat <- straighten() 

sonst, können Sie es in als Zeichenfolge übergeben können:

flat <- straighten("curl 'https://api.rosette.com/rest/v1/ping' -H 'X-RosetteAPI-Key: [your_api-key]'") 

, die eine Liste aller URL Teile macht die Sie können dann gehen in make_req():

req <- make_req(flat)[[1]] 

make_req() verwandelt sich diese Liste in ein vollwertiges httr Anruf. Es ist vektorisiert, weshalb es eine Liste von einer oder mehreren Funktionen gegenüber nur einer Funktion zurückgibt.

Wenn Sie nur ein Objekt übergeben, kopiert es auch die generierte Funktionsquelle in die Zwischenablage, die Sie in Ihre IDE einfügen können. Dies erzeugt:

httr::VERB(verb = "GET", url = "https://api.rosette.com/rest/v1/ping", 
    httr::add_headers(`X-RosetteAPI-Key` = "[your_api-key]")) 

Beachten Sie, dass auch diese Quelle nur durch Eingabe req (keine Pars) an der R-Konsole sehen können.

ich in der Regel überprüfen Sie die Ausgabe und machen es ein bisschen kompakter:

GET(url = "https://api.rosette.com/rest/v1/ping", 
    add_headers(`X-RosetteAPI-Key` = "[your_api-key]")) 

Es Import/Export %>% so ist es möglich - nach dem Kopieren einer cURL Befehlszeile in die Zwischenablage - do:

straighten() %>% make_req() -> req 

Eine einfache gemeinsame Teilmenge von cURL Befehlszeilenoptionen werden unterstützt. Wenn eines fehlt, brauchst du nur file an issue mit einem Beispiel. Apropos Beispiele, es gibt many more usage examples im gh repo.

Verwandte Themen