【问题标题】:How to add API key to Axios post request for mailchimp如何将 API 密钥添加到 mailchimp 的 Axios 发布请求
【发布时间】:2021-08-15 05:52:47
【问题描述】:

我正在尝试设置 axios 发布请求以将成员添加到受众列表,但我不知道如何添加 API 密钥(不断给出错误 401:'您的请求不包含 API 密钥.')。我在“授权”标题中尝试了很多东西,就像我在下面放的一样(还有:"Bearer ${mailchimpKey}""${mailchimpKey}""Bearer ${mailchimpKey}""Basic ${mailchimpKey}",可能还有更多......)。

我也不知道“用户名”是什么,但当我在其他地方测试 API 时,“任何”都可以。

有人知道我应该如何设置吗?

axios
.post(
  `https://${server}.api.mailchimp.com/3.0/lists/${list_id}/members`,
  {
    email_address: email,
    status: "subscribed",
  },
  {
    "User-Agent": "Request-Promise",
    Connection: "keep-alive",
    Authorization: `Basic any:${mailchimpKey}`,
    // Testing on localhost
    "Access-Control-Allow-Origin": "*",
    "Access-Control-Allow-Headers": "Content-Type",
  }
)

【问题讨论】:

    标签: axios basic-authentication mailchimp-api-v3.0 api-authorization


    【解决方案1】:

    如果您打算使用HTTP Basic authentication,只需使用Axios auth config option

    axios.post(
      `https://${server}.api.mailchimp.com/3.0/lists/${encodeURIComponent(list_id)}/members`,
      {
        email_address: email,
        status: "subscribed",
      },
      {
        auth: {
          username: "anystring",
          password: mailchimpKey
        },
        headers: { // personally, I wouldn't add any extra headers
          "User-agent": "Request-Promise"
        }
      }
    )
    

    HTTP 基本身份验证标头看起来像

    Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
    

    "Basic" 之后的字符串是 Base64 编码的 "username:password" 字符串。 Axios 提供了auth 选项以方便您自己对字符串进行编码。

    您遇到的其他一些问题是:

    • headers 配置选项之外添加请求标头
    • 尝试将Access-Control-Allow-OriginAccess-Control-Allow-Headers 作为请求标头发送。这些只是响应标头。将它们添加到您的请求中很可能会导致更多 CORS 错误

    【讨论】:

      猜你喜欢
      • 2019-12-27
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 2020-11-05
      • 2021-06-20
      • 2018-07-29
      • 1970-01-01
      • 2020-11-12
      相关资源
      最近更新 更多