如何使用 get() 函数访问 HRSA API?

问题描述 投票:0回答:1

我正在尝试使用此处描述的 API 访问 data.hrsa.gov 的数据。我已在该网站注册并已保存令牌以在我的 R 脚本中使用。该网站提供了有关 Web 服务端点的一些详细信息 here。 在下面的代码中,我尝试从端点访问数据 https://data.hrsa.gov/HDWAPI3_External/api/v1/GetHealthCentersByArea

我尝试了以下代码(抑制了令牌):

library(httr) library(jsonlite) HRSA_token <- "TOKEN" HRSA_test <- httr::GET("https://data.hrsa.gov/HDWAPI3_External/api/v1/GetHealthCentersByArea", httr::authenticate( user = Sys.getenv(HRSA_token), password = "", type = "basic" )) HRSA_test
当查看对象 HRSA_test 时,我在控制台中得到以下输出:

Response [https://data.hrsa.gov/HDWAPI3_External/api/v1/GetHealthCentersByArea] Date: 2022-10-13 17:37 Status: 405 Content-Type: application/json; charset=utf-8 Size: 72 B
我对使用 API 非常陌生,我不确定是什么导致了错误。我知道成功的 GET() 会导致状态代码为 200。我尝试过其他端点链接,也获得了不同的状态代码。 

此链接显示代码 405 的意思是“请求 URI 标识的资源不允许使用请求行中指定的方法。响应必须包含一个允许标头,其中包含所请求资源的有效方法列表.”

我最终想要得到的是一个数据集,其中列出了每个健康中心和相应的详细信息(如开发人员文档中列出的)。

任何人都可以提供进一步的指导或指出我找到正确的资源来解决这个问题吗?如有任何帮助,我们将不胜感激。

r api httr
1个回答
0
投票
我也不得不努力处理文档。

    您需要将其作为邮寄请求发送
  1. 您以 x-www-form-urlencoded 的形式发送包含您的令牌在内的参数
© www.soinside.com 2019 - 2024. All rights reserved.