首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >给定错误,应为类型为"string“、"stdClass”的参数

给定错误,应为类型为"string“、"stdClass”的参数
EN

Stack Overflow用户
提问于 2019-07-20 04:37:40
回答 1查看 1K关注 0票数 4

我将mailchimp-api-v3用于nodejs。我目前正在尝试更新一个用户的标签,但有时会弹出这个错误,我不知道它是什么意思。我到处寻找,但似乎并不是很多开发者都遇到过它。

欢迎任何建议。

代码语言:javascript
复制
try {
await mailchimp.post('/lists/' + listIDUsers + '/members/' + crypto.createHash('md5').update(profileSnap.val().email.toLowerCase()).digest("hex") + '/tags', {
        tags: [{name: "traveler", status: "active"}]
    });
} catch (error) {
if (error.status === 404) {
await mailchimp.post('/lists/' + listIDUsers + '/members', {
            email_address: profileSnap.val().email,
            status: 'subscribed',
            merge_fields: {
                "FNAME": profileSnap.val().firstName,
                "LNAME": profileSnap.val().lastName,
                "UID": uid,
                "EMAIL": profileSnap.val().email
            },
            tags: [{name: "traveler", status: "active"}]
        });
    } else {
        console.log("Issue for: " + uid);
        console.log(error);
 }

错误:

代码语言:javascript
复制
Error: Expected argument of type "string", "stdClass" given
    at Request._callback (/srv/node_modules/mailchimp-api-v3/index.js:506:30)
    at Request.self.callback (/srv/node_modules/request/request.js:185:22)
    at emitTwo (events.js:126:13)
    at Request.emit (events.js:214:7)
    at Request.<anonymous> (/srv/node_modules/request/request.js:1161:10)
    at emitOne (events.js:116:13)
    at Request.emit (events.js:211:7)
    at IncomingMessage.<anonymous> (/srv/node_modules/request/request.js:1083:12)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:111:20)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickDomainCallback (internal/process/next_tick.js:219:9)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-31 03:47:14

好了,我决定继续联系Mailchimp,因为这个问题已经有几天没有回答了!他们回复我说,我收到上面错误的原因是因为我试图在添加订阅者之后立即为订阅者设置标签,因此系统无法成功添加标签,因为订阅者散列id尚未静默创建。

因此,我只需要下面这行代码,让我的函数在设置标记之前等待10秒。

代码语言:javascript
复制
await new Promise(resolve => setTimeout(resolve, 10000));
await mailchimp.post('/lists/' + listIDUsers + '/members/' + crypto.createHash('md5').update(profileSnap.val().email.toLowerCase()).digest("hex") + '/tags', {
    tags: [{name: "traveler", status: "active"}]
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57119355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档