Mailchimp API V3 jQuery Ajax POST abonnés
Il y a eu une grosse mise à jour sur l'API Mailchimp (v3.0) et de nombreux plugins jQuery ne sont pas à jour afin de POST
abonnés sur form.submit()
.
Après la lecture de v3.0 docs:
La gestion des abonnés suggère ce qui suit objet JSON format:
{
"email_address": "[email protected]",
"status": "subscribed",
"merge_fields": {
"FNAME": "Urist",
"LNAME": "McVankab"
}
}
Et suivants de la racine de point de terminaison pour l'API, des listes de ressources:
https://<dc>.api.mailchimp.com/3.0/
Voici donc ma form.submit()
code avec jQuery Ajax POST
demande:
$(document).ready(function(){
var mcForm = $('#mailchimpForm');
var mailchimp = {};
mailchimp.dc='us5';
mailchimp.id='xxxxxxxx';
var url = '//' + mailchimp.dc + '.api.mailchimp.com/3.0/lists/' + mailchimp.id + '/members/';
function beginMailchimpPost(data){
var params = JSON.stringify(data);
$.ajax({
url: url,
method: 'POST',
data: params,
dataType: 'jsonp',
contentType: 'application/json; charset=utf-8',
error: function(res, text){
console.log('Err', res);
},
success: function(res){
console.log('Success', res);
}
});
}
});
C'est le JSON.stringify(data)
objet:
{"email_address":"[email protected]","status":"subscribed","merge_fields":{"FNAME":"Name","LNAME":"Last name"}}
Et j'obtiens l'erreur suivante:
GET http://... 401 (Unauthorized)
Err Object {readyState: 4, status: 404, statusText: "error"}
Ce qui pourrait être mauvais?
Voici le lien pour Mailchimp API v3.0 docs (les membres de la liste de la collection).
Le meilleur est stackoverflow.com/a/21491824/1821607
OriginalL'auteur Gus | 2015-09-25
Vous devez vous connecter pour publier un commentaire.
Malheureusement, il n'est pas possible de faire des demandes pour le front-end API Mailchimp.
https://developer.mailchimp.com/documentation/mailchimp/guides/get-started-with-mailchimp-api-3/#authentication
OriginalL'auteur Daniel Nass
Le chemin que j'ai fait c'est d'utiliser votre code AJAX, mais bande de tous les MailChimp trucs et envoyer le post de données à un fichier PHP. J'ai utilisé ce code:
https://github.com/actuallymentor/MailChimp-API-v3.0-PHP-cURL-example/blob/master/mc-API-connector.php
Je viens dépouillé de tout, mais la partie que j'ai besoin pour s'abonner à un seul utilisateur et cela a fonctionné comme un charme. Pour les rapports d'erreurs, vous pouvez probablement détecter les erreurs dans le PHP côté et de l'envoyer HTTP statut de l'AJAX.
OriginalL'auteur David Rhoderick
Vous êtes l'obtention d'un 401 parce que vous n'êtes pas de passage dans votre clé API.
Vous aurez besoin d'ajouter les éléments suivants pour vous êtes à l'appel ajax:
Où mailchimp_api_key est la clé de votre compte. Jetez un oeil à http://kb.mailchimp.com/api/article/api-3-overview pour plus d'informations sur auth avec l'api.
donc il n'y a pas de moyen facile de poster sur mailchimp par le client? Il y a beaucoup de jQuery/Angular plugins à l'aide de l'API v2.0 faire.
merci pour votre réponse, mais maintenant j'ai une erreur 404. J'ai ajouté le droit de l'API. Pas de succès.
Le JavaScript côté client bibliothèques que j'ai vu généralement soit des demandes de proxy à travers le serveur ou le poste de la soumission du formulaire fin-point au lieu d'utiliser le authentifiés de l'API. Outre les limitations techniques, vous ne voulez pas envoyer des clients de votre clé API parce que qui donne à chaque visiteur de votre site un accès complet à votre compte.
^^ Ce. Ne pas utiliser votre clé API sur le navigateur. Votre clé API doit être gardé secret.
OriginalL'auteur aubreyrhodes
Vous devez ajouter votre clé API dans les paramètres, comme ceci;
Ensuite, vous devrez changer datetype de "jsonp" à "json". "jsonp" est d'OBTENIR seulement et ne fonctionnera pas avec la méthode POST.
Et la dernière chose que vous devez faire est de permettre cross domain scripting;
http://enable-cors.org/server.html
OriginalL'auteur Lasse Jaegersborg