使用axios发出Curl请求

时间:2019-02-24 23:00:58

标签: javascript curl

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

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

我以前听说过卷发,但是以前从未使用过

现在,我对axios很有兴趣,我认为这将类似于宁静的api调用。

因此要从上述片段中获取数据,我需要m 发出一个get请求,因为在上述片段中它说了什么?

curl -G \

第二个是

"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"  
    }
)

有人可以确认我在做什么吗?

1 个答案:

答案 0 :(得分:3)

你快到了...

通常,在-d中使用curl选项会强制将带有-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"  
  }
})