Sendgrid-nodejs: PersonalizationData的类型定义错误

创建于 2019-03-07  ·  3评论  ·  资料来源: sendgrid/sendgrid-nodejs

PersonalizationData的类型定义包含一个名为dynamicTemplateData的字段。 但是,SendGrid API需要一个名为dynamic_template_data的字段。 结果,TypeScript用户当前如果想要使用sgMail.send()方法而没有编译器错误,则必须强制转换MailData对象以键入any

sgMail.send({
        personalizations: [
          {
            to: "[email protected]",
            dynamic_template_data: {
                field1: "value1",
                field2: "value2"
            }
          }
        ],
        from: 'noreply<strong i="12">@email</strong>',
        templateId: "xxxxxxxx"
    } as any);

因此,应该更改PersonalizationData类型的字段名称以与API期望的名称匹配,或者应该从dynamicTemplateData => dynamic_template_data进行映射。

medium help wanted help wanted community enhancement up for grabs up-for-grabs

最有用的评论

@egges我有类似的问题。

对于那些感兴趣的人,这就是我解决问题的方式
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577

@thinkingserious相同的问题,为什么还没有部署呢? 公关准备就绪,对我们的打字员来说是一个大问题😄

所有3条评论

谢谢@egges!

这是一个很大的收获,我已将其添加到我们的积压物中以进行更新,或者也许我们会获得公关。

最诚挚的问候,

埃尔默

@egges我有类似的问题。

对于那些感兴趣的人,这就是我解决问题的方式
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577

@thinkingserious相同的问题,为什么还没有部署呢? 公关准备就绪,对我们的打字员来说是一个大问题😄

据我所知,打字稿定义是正确的,这不是问题。 当将个性化对象序列化为JSON时,密钥将递归转换为snake_case其中包括dynamicTemplateData密钥( source ,请注意,排除列表是不需要递归转换的密钥,只是顶级密钥本身)。

如果我错了并且丢失了一些东西,请重新打开。 只看代码的最新版本。

此页面是否有帮助?
0 / 5 - 0 等级