Ich erstelle eine App in nodejs, um eine E-Mail mit MailChimp zu senden. Ich habe versucht, https://apidocs.mailchimp.com/sts/1.0/sendemail.func.php zu verwenden, aber änderte es, um 3.0 API zu verwenden, weil 1.0 scheint, nicht mehr zu arbeiten (große Überraschung). Ich habe Setup meine app mitSo senden Sie eine E-Mail mit der MailChimp-API
var apiKey = '<<apiKey>>',
toEmail = '<<emailAddress>>',
toNames = '<<myName>>',
message = {
'html': 'Yo, this is the <b>html</b> portion',
'text': 'Yo, this is the *text* portion',
'subject': 'This is the subject',
'from_name': 'Me!',
'from_email': '',
'to_email': toEmail,
'to_name': toNames
},
tags = ['HelloWorld'],
params = {
'apikey': apiKey,
'message': message,
'track_opens': true,
'track_clicks': false,
'tags': tags
},
url = 'https://us13.api.mailchimp.com/3.0/SendEmail';
needle.post(url, params, function(err, headers) {
if (err) {
console.error(err);
}
console.log(headers);
}
});
Ich halte eine 401-Antwort bekommen (nicht autorisiert, weil ich nicht die API-Schlüssel richtig Senden)
Ich habe Nadel zu verwenden, aufgrund der Beschränkungen auf dem Server .
Dies ist die richtige Antwort. Es sollte auch erwähnt werden, dass, selbst wenn dies funktioniert, ich die Authentifizierung nicht korrekt eingerichtet habe. @micia erwähnt die korrekte Einrichtung der Authentifizierung. –
Bevor ich eine neue Frage beginne, irgendeine Idee, warum dies eine 405 zurückgeben würde (Methode nicht erlaubt) var apiKey = '<>', url = 'https://us13.api.mailchimp.com/3.0/campaigns/ <>/Aktionen/senden '; try { needle.post (url, {username: 'anystring', Passwort: apikey}, Funktion (err, headers) { if (err) { console.error (err); } console.log (headers); –
Method Not Allowed ist ein [Standard-HTTP-Fehler] (http://www.checkupdown.com/status/E405.html) Dies bedeutet, dass die HTTP-Methode, die Sie verwenden (in diesem Fall POST) nicht gültig für die ausgewählte Ressource MailChimp verwendet HTTP-Methoden, um zwischen Vorgängen zu unterscheiden: POST für create, GET for read usw. Wie Sie das Problem beheben können, hängt davon ab, was Sie tun möchten, aber Sie möchten es entweder Verwenden Sie eine andere Methode (PATCH oder GET) oder verwenden Sie einen anderen Endpunkt (wie/campaigns /) – TooMuchPete