【问题标题】:Calling API in R (httr)在 R (httr) 中调用 API
【发布时间】:2018-02-09 23:11:46
【问题描述】:

我希望你能帮助我。我尝试在 R(httr 包)中调用 API。 API的地址是: https://apiv3.mojepanstwo.pl/dane/krs_podmioty

我尝试在 R 中获取与此类地址下列出的相同信息:

https://apiv3.mojepanstwo.pl/dane/krs_podmioty?conditions[krs_podmioty.nip]=6321880539

如何用 R 编写它?我尝试如下:

URL <- "https://apiv3.mojepanstwo.pl/dane/krs_podmioty?"
ndsu_req <- GET(URL, query = list(condition[krs_podmioty.nip] = 6321880539))
ndsu_data <- content(ndsu_req)
nsdu_data

但是我得到了一些错误。具体来说,我的意图是获取 3 个数字(nip)并为他们列出全部信息。有人可以帮忙吗?

【问题讨论】:

  • 试试list("condition[krs_podmioty.nip]" = 6321880539),否则括号会引起问题。
  • 是的,这对我有帮助。谢谢你。但是如何构建一个包含 3 个要搜索的数字的列表?

标签: json r api httr


【解决方案1】:

我的问题得到了答案。我为一些 nip 数字写了 function + sapply。但我遇到了另一个问题:对于一种情况,我收到错误:

“索引超出范围。”

我把这个案例放在下面的代码中。这是因为 API 没有返回该对象 (DAtaObject[[1]]) 的值。任何人都知道如何帮助并为此编写一个 NULL 值?还是其他解决方案?

URL <- "https://api-v3.mojepanstwo.pl/dane/krs_podmioty?"



abc=c(
7822088970)

KAP<-function (abc){
DANE<- GET(URL, query=list("conditions[krs_podmioty.nip][]"= abc, limit = 1500 ))
DANE2<- content(DANE)
DANE3<- DANE2$Dataobject[[1]]$data$krs_podmioty.wartosc_kapital_zakladowy
DANE4<- DANE2$Dataobject[[1]]$data$krs_podmioty.nip
c(DANE3, DANE4)
}

sapply(abc,KAP)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多