2016-10-10 47 views
0

我是R超級新手,我嘗試通過R連接到Rosette API,並且我在下面使用了curl腳本。我如何互聯網到R?我有我的個人API密鑰。使用rCURL進行API認證

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

感謝 佩迪

回答

3

curlconverter包是量身訂做這一點。

您可以帶上您的cURL命令行並將其複製到剪貼板或直接傳入。如果你把它複製到剪貼板,然後調用straighten()不帶參數:

library(curlconverter) 

flat <- straighten() 

否則,你可以把它作爲一個字符串:

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

,使所有的URL部分的列表,它那麼你可以傳遞到make_req()

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

make_req()變成該列表變成全功能httr電話。它是矢量化的,這就是爲什麼它返回一個或多個函數的列表,而不僅僅是一個函數。

如果您只傳入一個對象,那麼它還會將生成的函數源複製到剪貼板,您可以將其粘貼回IDE。這其中產生:

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

注意,你也可以看到,通過源就在R控制檯進入req(沒有括號)。

我平時檢查輸出,並使其更有點緊湊:

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

它進口/出口%>%所以它可能 - 執行 - 複製cURL命令行復制到剪貼板後:

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

支持cURL命令行選項的仙女共同子集。如果有人缺少你需要的,只需要file an issue舉個例子。說到例子,在gh回購中有many more usage examples