Typescript 从火基到MailChimp
背景 我有一个完整的应用程序(iOS),它现在在应用商店(Moneypants!)。好极了我现在正在完成我们的数据库代码,我想把我们所有的新订户发送到MailChimp。我使用的是Firebase函数,我已经能够创建一个函数,成功访问Firebase上的新成员节点并返回一个值。到目前为止还不错 问题 问题是我不知道如何将数据输入MailChimp。我花了四天时间研究所有的API文档,并遵循在Google上找到的所有可能的线索,但都没有用。我相信这很简单,所以我呼吁我的同事们提供帮助 我尝试过的 我正在使用Visual Studio编写Firebase函数。代码如下:Typescript 从火基到MailChimp,typescript,google-cloud-functions,mailchimp-api-v3.0,Typescript,Google Cloud Functions,Mailchimp Api V3.0,背景 我有一个完整的应用程序(iOS),它现在在应用商店(Moneypants!)。好极了我现在正在完成我们的数据库代码,我想把我们所有的新订户发送到MailChimp。我使用的是Firebase函数,我已经能够创建一个函数,成功访问Firebase上的新成员节点并返回一个值。到目前为止还不错 问题 问题是我不知道如何将数据输入MailChimp。我花了四天时间研究所有的API文档,并遵循在Google上找到的所有可能的线索,但都没有用。我相信这很简单,所以我呼吁我的同事们提供帮助 我尝试过的
// 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的网站上查到了错误代码,除了错误代码本身,它没有告诉我更多的事情
{错误:找不到请求的资源。
应请求。\回调(/user\u code/node\u modules/mailchimp-api-v3/index.js:506:30)
at Request.self.callback(/user\u code/node\u modules/mailchimp-api-v3/node\u modules/Request/Request.js:185:22)
两点钟(events.js:106:13)
at Request.emit(events.js:191:7)
应请求。(/user_code/node_modules/mailchimp-api-v3/node_modules/Request/Request.js:1157:10)
在emitOne(events.js:96:13)
at Request.emit(events.js:188:7)
在输入消息时。(/user_code/node_modules/mailchimp-api-v3/node_modules/request/request.js:1079:12)
在IncomingMessage.g(events.js:292:16)
在emitNone(events.js:91:20)
在IncomingMessage.emit(events.js:185:7)
在endReadableNT(_stream_readable.js:974:12)
at _combinedTickCallback(内部/流程/下一步_tick.js:80:11)
在进程中。_tickDomainCallback(internal/process/next_tick.js:128:9)
类型:“”,
标题:“未找到资源”,
现状:404,
详细信息:“找不到请求的资源。”,
实例:“37f70bf5-1a91-4a6d-8aea-5fc2a535e86e'}
我所要做的就是将新用户的电子邮件和用户名放入MailChimp上的“测试”列表中。我确信我遗漏了一些简单的东西,如果有人能给我指出正确的方向,我将非常感激。谢谢 答案帮我解决了。我的订户名单用错了名字。结果是MailChimp在他们的列表中使用了第二个名字。对我来说,这是一串字母和数字,就像
a9fie987
,而不是像我想象的那样testlist
。经过4天的研究,你在请求帮助后不到1小时就找到了答案:D.下次请快点!我知道,对吧?我现在还在想办法。