Ian*_*Ian 4 node.js mailchimp express parse-platform
我想在我的Parse Cloud Hosting应用程序中使用Mailchimp Node.js API来订阅用户到邮件列表.Parse不支持NPM,但鉴于Mailchimp API没有依赖关系,我认为我可以将代码复制到我的项目中.但是,Mailchimp API使用Parse不支持的"https"模块.
有没有人知道这方面的方法?
我一直无法直接使用Mailchimp API,但REST API非常易于使用.
在main.js中,创建一个云函数.输入您的API密钥并更新REST URL以指向正确的Mailchimp数据中心(http://apidocs.mailchimp.com/api/2.0/)
var mailchimpApiKey = "<<REPLACE_WITH_YOUR_KEY>>";
Parse.Cloud.define("SubscribeUserToMailingList", function(request, response) {
if (!request.params ||
!request.params.email){
response.error("Must supply email address, firstname and lastname to Mailchimp signup");
return;
}
var mailchimpData = {
apikey : mailchimpApiKey,
id : request.params.listid,
email : {
email : request.params.email
},
merge_vars : request.params.mergevars
}
var url = "https://<<REPLACE_WITH_DATA_CENTRE>>.api.mailchimp.com/2.0/lists/subscribe.json";
Parse.Cloud.httpRequest({
method: 'POST',
url: url,
body: JSON.stringify(mailchimpData),
success: function(httpResponse) {
console.log(httpResponse.text);
response.success("Successfully subscribed");
},
error: function(httpResponse) {
console.error('Request failed with response code ' + httpResponse.status);
console.error(httpResponse.text);
response.error('Mailchimp subscribe failed with response code ' + httpResponse.status);
}
});
});
Run Code Online (Sandbox Code Playgroud)
然后,在调用此函数的代码中...(替换您的列表ID)
Parse.Cloud.run("SubscribeUserToMailingList", {
listid : "<<REPLACE_WITH_LIST_ID>>",
email : email,
mergevars : {
FNAME : firstName,
LNAME : lastName
}
})
.then(function(success){
console.log("Successfully subscribed");
// ...
},
function(error){
console.log("Unable to subscribe");
// ...
});
Run Code Online (Sandbox Code Playgroud)
小智 5
在您的项目中安装 mailchimp
npm install mailchimp-api
Run Code Online (Sandbox Code Playgroud)从客户端控制器调用具有所需数据的服务器控制器
不要忘记添加$http到控制器的顶部
$http({
method : 'POST',
url : '/mailchimp-users/subscribe',
data : {user:this.name}}).
success(function(response) {
console.log("hai this is basic test" + response);
$scope.send = response.message;
}).error(function(response) {
$scope.error = response.message;
});
Run Code Online (Sandbox Code Playgroud)在服务器控制器中将其添加到页面的开头
var MailchimpUser = mongoose.model('MailchimpUser'),
_ = require('lodash'),
mcapi = require('mailchimp-api');
var apiKey = '4bf6fb8820c333da4179216c3c2ef8fb-us10';
// Change this to your Key
var listID = 'ebbf193760';
var mc = new mcapi.Mailchimp(apiKey, {version: '2.0'});
Run Code Online (Sandbox Code Playgroud)
添加此功能
exports.subscribe = function(req, res) {
var entry = req.body.user;
var mcReq = {
apikey: '4bf6fb8820c333da4179216c3c2ef8fb-us10',
id: 'ebbf193760',
email: {email: entry + '@gmail.com'},
merge_vars: {
FNAME: 'subscriber-first-name',
LNAME: 'subscriber-last-name'
},
'double_optin': false,
'send_welcome': true
}
// submit subscription request to mail chimp
mc.lists.subscribe(mcReq, function(data) {
console.log(data);
}, function(error) {
console.log(error);
});
};
Run Code Online (Sandbox Code Playgroud)将此路线添加到您的路线文件中
app.route('/mailchimp-users/subscribe')
.post(mailchimpUsers.subscribe);
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
3698 次 |
| 最近记录: |