【问题标题】:Make Curl request using axios使用 axios 发出 Curl 请求
【发布时间】:2019-02-24 23:00:57
【问题描述】:

我正在浏览 facebook 文档,他们使用 curl 进行 api 调用

curl -G \
-d "fields=name" \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ads"

我之前听说过 curl 但之前从未使用过它

现在,我很喜欢 axios,我认为这类似于 restful api 调用。

所以要从上面给定的 sn-p 中获取数据,我需要发出一个 get 请求,因为在上面的 sn-p 中它说?

curl -G \

其次,给定的 url 是

"https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ads"

所以 axios 相当于

axios.get("https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ads")

然后-d我猜是为了数据?所以我的 api 请求应该是这样的?

axios.get("https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ads"
  ,data: {
     fields: "something",
      access_token:"8e8e8ee08e0e"  
    }
)

有人可以确认我所做的是否正确吗?

【问题讨论】:

标签: javascript curl


【解决方案1】:

你快到了……

通常,在curl 中使用-d 选项会强制使用编码到请求正文中的-d 值的POST 请求。设置 -G 选项会强制执行 GET 请求,其中包含编码到 URL 查询参数中的数据参数。

-G, --get
使用时,此选项将使所有使用-d--data--data-binary--data-urlencode 指定的数据在 HTTP GET 请求中使用,而不是在其他情况下使用的 POST 请求中使用。数据将附加到带有“?”的 URL分隔符。

Axios 将查询参数分离到 params 对象中,因此您应该使用它而不是 data

axios.get(`https://graph.facebook.com/${apiVersion}/act_${adAccountId}/ads`, {
  params: {
    fields: "something",
    access_token:"8e8e8ee08e0e"  
  }
})

【讨论】:

猜你喜欢
  • 2021-12-31
  • 2023-03-06
  • 2022-10-24
  • 2020-09-17
  • 2021-06-30
  • 1970-01-01
  • 1970-01-01
  • 2022-11-02
  • 2021-07-05
相关资源
最近更新 更多