首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RapidAPI提供的API R代码的问题

使用RapidAPI提供的API R代码的问题
EN

Stack Overflow用户
提问于 2021-11-08 13:11:55
回答 1查看 41关注 0票数 0

我正在尝试让RapidAPI的API R代码正常工作。

他们提供的代码如下(示意性):

代码语言:javascript
复制
library(httr)

GET(
  url = rapidapi_url,
  config = list(x-rapidapi-key = API_KEY,
                x-rapidapi-host = HOST_URL,
                useQueryString = TRUE),
  inboundpartialdate = "2019-12-01"
)

这段代码无法工作,因为(开始时)变量包含减号。

我将代码更改为以下格式

代码语言:javascript
复制
#Define Constants
x_rapidapi_key <- xyz # defined higher up in the script for confidentiality reasons and works in rapidapi.com
HTML_link <- "https://yh-finance.p.rapidapi.com/stock/v3/get-historical-data"
YH_file_type = "json"

#' Paste the get_text together
get_text <- paste(HTML_link,
                  "?q=TTF",
                  "&x-rapidapi-host:",x_rapidapi_host,
                  "&x-rapidapi-key:",x_rapidapi_key,
                  "&out=",YH_file_type,sep="")
httr::GET(get_text)

当运行这个脚本时,我得到了一个401错误,尽管当我在RapidAPI中测试api-key时,一切正常。

代码语言:javascript
复制
Response [https://yh-finance.p.rapidapi.com/stock/v3/get-historical-data?q=TTF&x-rapidapi-host:yh-finance.p.rapidapi.com&x-rapidapi-key:xyz&out=json]
  Date: 2021-11-08 14:16
  Status: 401
  Content-Type: application/json
  Size: 91 B

我在响应中编辑了api-key。

对于相同的事情,请参见下面的另一种变体:

代码语言:javascript
复制
library(httr)

url <- "https://yh-finance.p.rapidapi.com/stock/v3/get-historical-data"

queryString <- list(
  symbol = "TTF=F",
  region = "US"
)

response <- VERB("GET",
                 url,
                 add_headers(x_rapidapi_host = 'yh-finance.p.rapidapi.com',
                             x_rapidapi_key = 'xyz'),
                 query = queryString,
                 content_type("application/octet-stream"))
response

content(response, "text")

有人知道怎么做吗?

谢谢你的帮助

迈克尔

EN

回答 1

Stack Overflow用户

发布于 2021-11-09 07:39:58

正式声明:问题已解决:

代码语言:javascript
复制
library(httr)

queryString <- list(
  symbol = "TTF=F",
  region = "US"
)

res <- GET("https://yh-finance.p.rapidapi.com/stock/v3/get-historical-data",
    add_headers(`x-rapidapi-host`='yh-finance.p.rapidapi.com',
                `x-rapidapi-key`= '[your API Key]'),
    query = queryString)


data <- jsonlite::fromJSON(rawToChar(res$content))

秘密似乎是正确的‘和’的组合。不知道为什么这会有这么大的不同,但它是有效的。

问候你,迈克尔

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69884050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档