使用带有 XHR 的 SparkPost 时出现 401 错误



嗨,我正在尝试在JavaScript Web应用程序中向SparkPost API发送POST调用。它适用于 curl 和 Postman,但是一旦我尝试从我的本地主机站点发送,我就会收到401 Unauthorized错误。

我当前的代码如下所示,但我也尝试了fetch相同的结果。

sendEmail(subject, data) {
let textbody = "blah blah blah";
const url = "https://api.sparkpost.com/api/v1/transmissions";
const fetchbody = {
  content: {
    from: "sandbox@sparkpostbox.com",
    subject: subject,
    text: textbody
  },
  recipients: [{address: "myaddress@gmail.com"}]
};
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});
xhr.open("POST", url);
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("authorization", creds);
xhr.setRequestHeader("cache-control", "no-cache");
xhr.send(JSON.stringify(fetchbody));
}

我的凭据设置在这里有问题吗?请注意,creds设置为我的秘密 API 密钥字符串。

在与 Sparkpost 开发人员聊天后想通了 - 该服务只允许"严格的 CORS",即来自服务器端的请求,而我正在从客户端代码发送请求。

相关内容

  • 没有找到相关文章

最新更新