2017-01-21 3 views
1

Hallo Ich versuche, einen POST-Aufruf an die Sparkpost-API in einer Javascript Web App zu senden. Es funktioniert gut mit Curl und Postman, aber sobald ich versuche, von meiner Localhost-Site zu senden, bekomme ich einen 401 Unauthorized Fehler.401 Fehler bei der Verwendung von Sparkpost mit XHR

Mein aktueller Code sieht wie folgt aus, aber ich habe fetch auch mit den gleichen Ergebnissen versucht.

sendEmail(subject, data) { 
let textbody = "blah blah blah"; 
const url = "https://api.sparkpost.com/api/v1/transmissions"; 
const fetchbody = { 
    content: { 
    from: "[email protected]", 
    subject: subject, 
    text: textbody 
    }, 
    recipients: [{address: "[email protected]"}] 
}; 
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)); 
} 

Gibt es etwas falsch mit meinen Anmeldeinformationen hier eingerichtet? Beachten Sie, dass creds auf meine geheime API-Schlüsselzeichenfolge festgelegt ist.

Antwort

2

Nach dem Chatten mit dem Sparkpost Devs ein bisschen herausgefunden - der Dienst erlaubt nur "strikte CORS", also Anfragen von der Server-Seite, und ich schickte die Anfrage von Client-Side-Code.

Verwandte Themen