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
进行映射。
谢谢@egges!
这是一个很大的收获,我已将其添加到我们的积压物中以进行更新,或者也许我们会获得公关。
最诚挚的问候,
埃尔默
@egges我有类似的问题。
对于那些感兴趣的人,这就是我解决问题的方式
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
与@thinkingserious相同的问题,为什么还没有部署呢? 公关准备就绪,对我们的打字员来说是一个大问题😄
据我所知,打字稿定义是正确的,这不是问题。 当将个性化对象序列化为JSON时,密钥将递归转换为snake_case
其中包括dynamicTemplateData
密钥( source ,请注意,排除列表是不需要递归转换的密钥,只是顶级密钥本身)。
如果我错了并且丢失了一些东西,请重新打开。 只看代码的最新版本。
最有用的评论
@egges我有类似的问题。
对于那些感兴趣的人,这就是我解决问题的方式
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
与@thinkingserious相同的问题,为什么还没有部署呢? 公关准备就绪,对我们的打字员来说是一个大问题😄