2014-04-25 75 views
0

我曾經使用RCurl來獲取需要登錄的數據。現在我必須使用api key(以及userid,password)來獲取數據,並且需要基本身份驗證(Radian6 api:http://socialcloud.radian6.com/docs/read/Getting_StartedRCurl,使用API​​密鑰的基本身份驗證

如果不需要身份驗證,則代碼將如此。 。

getURL("https:// address", userpwd="id:pswd", httpauth = 1L) 

但我不知道如何插入api密鑰進行身份驗證。到目前爲止,我能夠找到用python或Java編寫的例子,但還沒有找到R例子。任何人都可以指向正確的方向嗎?我想知道如何使用RCurl進行基本身份驗證,以及如何使用令牌來獲取數據。 (fyi,這是python的工作原理:Urllib2 authentication with API key

任何建議將非常感激!

回答

4

您可能會發現它使用httr更容易一些。代碼看起來像這樣:

library(httr) 

req <- GET("https://address.com/authenticate", 
    authenticate("user", "pass", type = "basic"), 
    add_headers(auth_appkey = api_key)) 
stop_for_status(req) 
content(req) 
# Then extract token etc 
+0

非常感謝您的指導!這是我第一次使用httr。一個簡單的問題。是否有任何其他語法可以插入用戶名和密碼?使用相同的登錄憑證,我可以使用python獲得令牌,但是此代碼不斷拋出錯誤消息。 - 「需要用戶名和密碼請求標頭。」 – user1486507

+0

@ user1486507 API可能需要用戶名/密碼的方法很多。聽起來就像它想在頭文件中定製一些東西。 – hadley