Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 从火基到MailChimp_Typescript_Google Cloud Functions_Mailchimp Api V3.0 - Fatal编程技术网

Typescript 从火基到MailChimp

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上找到的所有可能的线索,但都没有用。我相信这很简单,所以我呼吁我的同事们提供帮助 我尝试过的

背景

我有一个完整的应用程序(iOS),它现在在应用商店(Moneypants!)。好极了我现在正在完成我们的数据库代码,我想把我们所有的新订户发送到MailChimp。我使用的是Firebase函数,我已经能够创建一个函数,成功访问Firebase上的新成员节点并返回一个值。到目前为止还不错

问题

问题是我不知道如何将数据输入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的网站上查到了错误代码,除了错误代码本身,它没有告诉我更多的事情

{错误:找不到请求的资源。 应请求。\回调(/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.下次请快点!我知道,对吧?我现在还在想办法。