Firebase 到 MailChimp
Firebase to MailChimp
背景
我有一个完整的应用程序 (iOS),它现在在 App Store 中(Moneypants!)。万岁!我现在正在完成我们的数据库代码,我想将我们所有的新订阅者发送到 MailChimp。我正在使用 Firebase 函数,并且我已经能够创建一个函数来成功访问 Firebase 上的新成员节点和 return 一个值。到目前为止一切顺利。
问题
问题是我不知道如何将该数据导入 MailChimp。我花了四天时间研究了所有 API 文档,并跟踪了我在 Google 上可以找到的所有可能线索,但都无济于事。我敢肯定这很简单,所以我向我的编码人员寻求帮助。
我试过的
我正在使用 Visual Studio 编写 Firebase 函数的代码。这是代码:
// Listens for new messages added to /testAdmin/{pushId}
exports.mailChimpTest3 = functions.database.ref('/testAdmin/{pushId}').onCreate((snapshot, context) => {
// Grab the current value of what was written to the Realtime Database. WORKS!
const original = snapshot.val();
console.log('New user ID:', context.params.pushId,'email:', original.email,'family name:', original.familyName);
// NOW NEED TO SEND THAT INFO TO MAILCHIMP. HOW TO DO IT??
const Mailchimp = require('mailchimp-api-v3')
const mailchimp = new Mailchimp('586xxxxxxxxxxxxxxxxxxxxx-us13');
mailchimp.post('/lists/TEST/members', {
"email_address": original.email,
"status": 'subscribed',
"merge_fields": {
"FNAME": original.familyName,
"LNAME": 'Family'
}
}).then(function(results) {
console.log('added new firebase user', original.email, 'to mailchimp list (TEST)');
})
.catch(function(err) {
console.log(err);
})
return null
});
错误
以上代码运行时在控制台中产生如下错误。我在 MailChimp 的网站上查找了错误代码,除了错误代码本身,它什么也没告诉我。
{ Error: The requested resource could not be found.
at Request._callback (/user_code/node_modules/mailchimp-api-v3/index.js:506:30)
at Request.self.callback (/user_code/node_modules/mailchimp-api-v3/node_modules/request/request.js:185:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request. (/user_code/node_modules/mailchimp-api-v3/node_modules/request/request.js:1157:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage. (/user_code/node_modules/mailchimp-api-v3/node_modules/request/request.js:1079:12)
at IncomingMessage.g (events.js:292:16)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickDomainCallback (internal/process/next_tick.js:128:9)
type: 'http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/',
title: 'Resource Not Found',
status: 404,
detail: 'The requested resource could not be found.',
instance: '37f70bf5-1a91-4a6d-8aea-5fc2a535e86e' }
我只想获取新用户的电子邮件和用户名,并将它们放入我在 MailChimp 上的 'TEST' 列表中。我确定我遗漏了一些简单的东西,如果有人能指出我正确的方向,我将非常感激。谢谢!!
This 答案帮我解决了。我为订阅者列表使用了错误的名称。原来 MailChimp 为他们的列表使用了次要名称。对我来说,它是一串字母和数字,比如 a9fie987
,而不是我想象的 TEST LIST
。
背景
我有一个完整的应用程序 (iOS),它现在在 App Store 中(Moneypants!)。万岁!我现在正在完成我们的数据库代码,我想将我们所有的新订阅者发送到 MailChimp。我正在使用 Firebase 函数,并且我已经能够创建一个函数来成功访问 Firebase 上的新成员节点和 return 一个值。到目前为止一切顺利。
问题
问题是我不知道如何将该数据导入 MailChimp。我花了四天时间研究了所有 API 文档,并跟踪了我在 Google 上可以找到的所有可能线索,但都无济于事。我敢肯定这很简单,所以我向我的编码人员寻求帮助。
我试过的
我正在使用 Visual Studio 编写 Firebase 函数的代码。这是代码:
// Listens for new messages added to /testAdmin/{pushId}
exports.mailChimpTest3 = functions.database.ref('/testAdmin/{pushId}').onCreate((snapshot, context) => {
// Grab the current value of what was written to the Realtime Database. WORKS!
const original = snapshot.val();
console.log('New user ID:', context.params.pushId,'email:', original.email,'family name:', original.familyName);
// NOW NEED TO SEND THAT INFO TO MAILCHIMP. HOW TO DO IT??
const Mailchimp = require('mailchimp-api-v3')
const mailchimp = new Mailchimp('586xxxxxxxxxxxxxxxxxxxxx-us13');
mailchimp.post('/lists/TEST/members', {
"email_address": original.email,
"status": 'subscribed',
"merge_fields": {
"FNAME": original.familyName,
"LNAME": 'Family'
}
}).then(function(results) {
console.log('added new firebase user', original.email, 'to mailchimp list (TEST)');
})
.catch(function(err) {
console.log(err);
})
return null
});
错误
以上代码运行时在控制台中产生如下错误。我在 MailChimp 的网站上查找了错误代码,除了错误代码本身,它什么也没告诉我。
{ Error: The requested resource could not be found. at Request._callback (/user_code/node_modules/mailchimp-api-v3/index.js:506:30) at Request.self.callback (/user_code/node_modules/mailchimp-api-v3/node_modules/request/request.js:185:22) at emitTwo (events.js:106:13) at Request.emit (events.js:191:7) at Request. (/user_code/node_modules/mailchimp-api-v3/node_modules/request/request.js:1157:10) at emitOne (events.js:96:13) at Request.emit (events.js:188:7) at IncomingMessage. (/user_code/node_modules/mailchimp-api-v3/node_modules/request/request.js:1079:12) at IncomingMessage.g (events.js:292:16) at emitNone (events.js:91:20) at IncomingMessage.emit (events.js:185:7) at endReadableNT (_stream_readable.js:974:12) at _combinedTickCallback (internal/process/next_tick.js:80:11) at process._tickDomainCallback (internal/process/next_tick.js:128:9) type: 'http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/', title: 'Resource Not Found', status: 404, detail: 'The requested resource could not be found.', instance: '37f70bf5-1a91-4a6d-8aea-5fc2a535e86e' }
我只想获取新用户的电子邮件和用户名,并将它们放入我在 MailChimp 上的 'TEST' 列表中。我确定我遗漏了一些简单的东西,如果有人能指出我正确的方向,我将非常感激。谢谢!!
This 答案帮我解决了。我为订阅者列表使用了错误的名称。原来 MailChimp 为他们的列表使用了次要名称。对我来说,它是一串字母和数字,比如 a9fie987
,而不是我想象的 TEST LIST
。