尝试从 API 获取数据

Trying to get data from an API

我正在尝试从实践管理软件中获取一些约会数据。我有一把 API 钥匙,但我没有这方面的经验。

我尝试转换 Curl 代码但收效甚微。 api 文档在这里 https://github.com/redguava/cliniko-api

我正在尝试转换这个 curl 代码

curl https://api.cliniko.com/v1/appointments \
  -u API_KEY: \
  -H 'Accept: application/json' \
  -H 'User-Agent: APP_VENDOR_NAME (APP_VENDOR_EMAIL)'

我试过的方法:(是的,这是从 curl 到 r 的转换器)

require(httr)

headers = c(
  `Accept` = 'application/json',
  `User-Agent` = 'APP_VENDOR_NAME (APP_VENDOR_EMAIL)'
)

res <- httr::GET(url = 'https://api.cliniko.com/v1/appointments', 
httr::add_headers(.headers=headers), 
httr::authenticate('API_KEY', 'INSERTED MY API KEY'))

任何想法将不胜感激

httr::authenticatehttr::authenticate(username,password).

的形式接受输入 usernamepassword

Curl's authenticate 接受参数 usernamepassword: 连接,即 username:password

在 API 文档的示例中,curl 命令验证 username:password 组合 API_KEY:。仔细看,我们可以看到:后面是空白。由此我们可以确定用户名字段应为 'API_KEY',密码字段应为 ''.

因此您应该将 curl 命令更改为:

require(httr)

headers = c(
  `Accept` = 'application/json',
  `User-Agent` = 'APP_VENDOR_NAME (APP_VENDOR_EMAIL)'
)

res <- httr::GET(url = 'https://api.cliniko.com/v1/appointments', 
httr::add_headers(.headers=headers), 
httr::authenticate('API_KEY', ''))

其中 API_KEY 是您提供的 API 密钥。