私はMailChimpを使用してメールを送信するためにnodejsにアプリケーションを作成しています。私はhttps://apidocs.mailchimp.com/sts/1.0/sendemail.func.phpを使用しようとしましたが、1.0がもはや機能しないように見えるので、3.0 apiを使用するように変更しました(大きな驚き)。 I私は401応答を取得しておくセットアップ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);
}
});
と私のアプリ(私は適切にAPIキーを送信していないよので、許可されていない)
をした私は、サーバー上の制約のために針を使用する必要があります。
これは正解です。これがうまくいきましたが、私は正しく認証を設定していないことにも言及する必要があります。 @micmiaには、認証を設定する正しい方法が記載されています。 –
私は新しい質問を始める前に、これがなぜ405を返すのかを考えてみましょう。 var apiKey = '<' '、 url =' https://us13.api.mailchimp.com/3.0/campaigns/ <>/actions/send '; 試み{needle.post(URL、{ユーザー名: 'anystring'、パスワード:APIKEY}、関数(ERR、ヘッダ){ IF(ERR){ console.error(ERR);} はconsole.log(ヘッダー); –
Method Not Allowedは[標準HTTPエラー](http://www.checkupdown.com/status/E405.html)です。これは、使用しているHTTPメソッド(この場合はPOST)がMailChimpはHTTPメソッドを使用して操作を区別します。作成のためのPOST、読み取りのためのGETなどです。その特定の問題を解決するには、何をしようとしているかによって異なりますが、別の方法(PATCHまたはGET)を使用するか、別のエンドポイント(/ campaigns /など)を使用してください – TooMuchPete