将R用于oauth与事实

时间:2013-06-29 18:45:53

标签: r oauth rcurl

我试图在R中的Windows 7中复制以下的apigee oauth调用。我尝试过使用RCurl的Roauth,(python)oauth-proxy(可能是最好的方式,但我无法弄清楚)和其他人。这是apigee调用工作正常:

GET /places/geocode?geo=%7B%22%24point%22%3A%5B34.06021%2C-118.41828%5D%7D HTTP/1.1
Authorization:
OAuth oauth_consumer_key="myKey",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1372529150",
oauth_nonce="1274556232",
oauth_version="1.0",
oauth_signature="someSignature"
Host: api.v3.factual.com
X-Target-URI: http://api.v3.factual.com
Connection: Keep-Alive

我的需求是保持开放的oauth连接,以便我可以在R中调用API。任何帮助都会非常感激,特别是上述字段如何读入解决方案。提前感谢您的时间。

1 个答案:

答案 0 :(得分:1)

抱歉我没有收到您的确切要求,但该方法现已弃用(http://developer.factual.com/api-docs/#Geocode)。好消息是,连接到新的地理标记API调用看起来更容易,并且不需要来回反复执行OAuth(http://developer.factual.com/api-docs-v4/#Geotag)。以下是您的Apigee请求在V4中的样子:

require(httr)

## Factual credentials
consumerKey <- "" ## your API key from Factual

## geotag demo - V4 API
geotag <- GET(paste0('https://api.factual.com/geotag?latitude=34.06021&longitude=-118.41828&KEY=',consumerKey))
content(geotag)
但是,我假设连接到Factual的其他端点仍然是一个有趣的问题。就在今天早上,我根据Using the Yelp API with R, attempting to search business types using geo-coordinates的答案开始工作。

我只是在这里显示地点类别,但也使用此签名连接到阅读地点。

require(httr)

## Factual credentials
consumerKey <- "" # your key
consumerSecret <- "" # your secret

## authorization
myapp <- oauth_app("Factual", key=consumerKey, secret=consumerSecret)
## R will ask to cache credentials between these lines
sig <- sign_oauth1.0(myapp)

data <- GET('https://api.v3.factual.com/t/place-categories?limit=500',
sig)
content(data)