在 RCurl 中使用 getURL 将查询参数设置为 API

setting query params to API with getURL in RCurl

我正在尝试将 R 与 Hotwire Hotels 一起使用 API: 以下是原始请求:

getURL(http://api.hotwire.com/v1/deal/hotel?dest=chicago&apikey=##############&format=JSON&limit=50&startdate=08/27/2015&enddate=08/28/2015)

但是,当我尝试将“开始日期and ‘enddate 作为参数传递时(见下文),它似乎没有选择日期。

getURL ("http://api.hotwire.com/v1/deal/hotel?dest=chicago&apikey=##############&format=JSON&limit=50",     
 httpheader=list(startdate=c_in,enddate=c_out))

在此方面如有任何帮助,我们将不胜感激。

苏布拉

httpheader参数用于传递headers,而不是查询参数

使用 RCurl::getForm

getForm("http://httpbin.org/get", .params = c(q = "ham"))

或使用httr::GET

GET("http://httpbin.org/get", query = list(q = "ham"))

你真的应该尝试切换到 httr,因为它使所有网络调用更清晰(API 文档说日期参数进入查询部分):

library(httr)

c_in <- '08/02/2015'
c_out <- '08/05/2015'

hotwire_api_url <- "http://api.hotwire.com/v1/deal/hotel"

res <- GET(hotwire_api_url,
           query=list(dest="chicago",
                      apikey="########",
                      format="JSON",
                      limit=50,
                      startdate=c_in,
                      enddate=c_out))

# since return val is "text/x-json"

recs <- jsonlite::fromJSON(content(res, as="text"))

head(recs$Result)
##                   FoundDate CurrencyCode NightDuration    EndDate
## 1 2015-08-01T23:38:48-07:00          USD           3.0 08/05/2015
## 2 2015-08-01T23:38:04-07:00          USD           3.0 08/05/2015
## 3 2015-08-01T23:38:47-07:00          USD           3.0 08/05/2015
## 4 2015-08-01T23:38:48-07:00          USD           3.0 08/05/2015
## 5 2015-08-01T23:38:36-07:00          USD           3.0 08/05/2015
## 6 2015-08-01T23:38:18-07:00          USD           3.0 08/05/2015
##                                 Headline IsWeekendStay Price  StartDate
## 1    Naperville 5 Star Hotel, 3/night         false 143.0 08/02/2015
## 2     Northbrook 4 Star Hotel, /night         false  67.0 08/02/2015
## 3     Chicago 4.5 Star Hotel, 8/night         false 208.0 08/02/2015
## 4 Schiller Park 4 Star Hotel, 0/night         false 140.0 08/02/2015
## 5     Chicago 4.5 Star Hotel, 2/night         false 142.0 08/02/2015
## 6     Naperville 4 Star Hotel, /night         false  98.0 08/02/2015
##                                                                                                                                                                                                                 Url
## 1     http://www.hotwire.com/hotel/superPage.jsp?encDealHash=MTAwOjE4NTAzOjE0MDUwOjUuMDoxNDMuMDpZOlk6WQ--&rs=20500&xid=x-103&wid=w-3&rid=r-69820702248&startDate=08/02/2015&endDate=08/05/2015&bid=B311402&sid=S298
## 2         http://www.hotwire.com/hotel/superPage.jsp?encDealHash=MTAwOjM1MTEwOjg3NTQ3OjQuMDo2Ny4wOlk6WTpZ&rs=20500&xid=x-103&wid=w-3&rid=r-69820702248&startDate=08/02/2015&endDate=08/05/2015&bid=B311402&sid=S298
## 3 http://www.hotwire.com/hotel/superPage.jsp?encDealHash=MTAwOjQ4Njk6ODc1NDU6NC41OjIwOC4wMDAwMjpZOlk6WQ--&rs=20500&xid=x-103&wid=w-3&rid=r-69820702248&startDate=08/02/2015&endDate=08/05/2015&bid=B311402&sid=S298
## 4     http://www.hotwire.com/hotel/superPage.jsp?encDealHash=MTAwOjM1MTI3Ojg5ODg5OjQuMDoxNDAuMDpZOlk6WQ--&rs=20500&xid=x-103&wid=w-3&rid=r-69820702248&startDate=08/02/2015&endDate=08/05/2015&bid=B311402&sid=S298
## 5         http://www.hotwire.com/hotel/superPage.jsp?encDealHash=MTAwOjQ4Njk6ODc5NTE6NC41OjE0Mi4wOlk6WTpZ&rs=20500&xid=x-103&wid=w-3&rid=r-69820702248&startDate=08/02/2015&endDate=08/05/2015&bid=B311402&sid=S298
## 6         http://www.hotwire.com/hotel/superPage.jsp?encDealHash=MTAwOjE4NTAzOjE0MDUwOjQuMDo5OC4wOlk6WTpZ&rs=20500&xid=x-103&wid=w-3&rid=r-69820702248&startDate=08/02/2015&endDate=08/05/2015&bid=B311402&sid=S298
##            City CountryCode NeighborhoodLatitude NeighborhoodLongitude
## 1    Naperville          US              41.8008              -88.1328
## 2    Northbrook          US              42.1138              -87.8601
## 3       Chicago          US              41.8989              -87.6243
## 4 Schiller Park          US              41.9334              -87.9029
## 5       Chicago          US              41.8549              -87.6221
## 6    Naperville          US              41.8008              -88.1328
##                                   Neighborhood StarRating StateCode
## 1                           Lisle - Naperville        5.0        IL
## 2         Northbrook - Glenview - Mt. Prospect        4.0        IL
## 3         Magnificent Mile North - Water Tower        4.5        IL
## 4                O'Hare Intl Airport ORD South        4.0        IL
## 5 McCormick Place - South Loop - Soldier Field        4.5        IL
## 6                           Lisle - Naperville        4.0        IL