REST GET API 数据库市场

REST GET API DB Marketplace

我想使用德国铁路 (Deutsche Bahn) API,但我正在努力将工作示例翻译成 R。

例如我可以获取所有与名称相似的站点的数据: https://developers.deutschebahn.com/db-api-marketplace/apis/product/fahrplan/api/9213#/Fahrplan_101/operation/%2Flocation%2F{name}/get

我成功注册了一个APP等,这样我就可以尝试下面得到结果了。

GET https://apis.deutschebahn.com/db-api-marketplace/apis/fahrplan/v1/location/Berlin
Header:
Accept: application/json
DB-Client-Id: myid
DB-Api-Key: mykey

现在我正在努力将其转换为 httr 包的 GET 命令 我对其他解决方案持开放态度

我想我只需要 url

的第一部分
url<-"https://apis.deutschebahn.com/db-api-marketplace/apis/fahrplan/v1/location/Berlin"

我发现这个 link 有添加 header 和其他东西的解释 https://httr.r-lib.org/reference/content_type.html

然而,我仍然在挣扎,不知道我应该从这样的事情中走向何方

r<-GET(url, add_headers(DB-Client-Id = client_id, `DB-Api-Key` = api_key)
       accept_json())

我无法复制 header,尤其是 add_headers。任何帮助将不胜感激

根据您提供的信息,您似乎想要像这样在 add_headers() 参数中对 Accept: header 进行硬编码。

library(httr)
r<-GET(url, 
       add_headers(Accept="application/json",
                   `DB-Client-Id` = "client_id", 
                   `DB-Api-Key` = "api_key"))

因为这应该与您的 API 请求所需的 header 匹配。

add_headers(Accept="application/json",
            `DB-Client-Id` = "client_id", 
            `DB-Api-Key` = "api_key")

#Output
<request>
Headers:
* Accept: application/json
* DB-Client-Id: client_id
* DB-Api-Key: api_key

希望对您有所帮助!