2014-04-25 44 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