以下のための型定義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!
これは素晴らしいキャッチであり、更新のためにこれをバックログに追加しました。そうしないと、PRを取得する可能性があります。
敬具、
エルマー
@egges私が持っていた同様の問題。
興味のある人のために、これは私が問題を修正した方法です
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
@thinkingseriousへの同じ質問、なぜこれがまだ展開されていないのですか? PRは準備ができており、タイプスクリプターにとって大きな問題です😄
私が知る限り、タイプスクリプトの定義は正しく、これは問題ではありません。 パーソナライズオブジェクトがJSONにシリアル化されると、キーはdynamicTemplateData
キーを含むsnake_case
再帰的に変換されます(ソース、除外リストは再帰的に変換されないキーであり、トップレベルキー自体)。
私が間違っていて何かが足りない場合は、もう一度開いてください。 コードの最新バージョンを見るだけです。
最も参考になるコメント
@egges私が持っていた同様の問題。
興味のある人のために、これは私が問題を修正した方法です
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
@thinkingseriousへの同じ質問、なぜこれがまだ展開されていないのですか? PRは準備ができており、タイプスクリプターにとって大きな問題です😄