我正在尝试在 SendGrid 动态模板中添加社交媒体链接,特别是它是通过 LinkedIn 共享内容的链接。社交媒体链接调用 RESTful API,因此需要提供许多参数,就像表单一样。问题是,除非这些参数是“百分比编码”的,否则 SendGrid 的编辑器会产生错误。
这是一个 URL,旨在使电子邮件收件人能够将成就证书添加到他们的 LinkedIn 个人资料中。它是按照这些说明创建的。
https://www.linkedin.com/profile/add?startTask=FS_Cert&name=Certificate%20Of%20Achievement&organizationId=26650704&issueYear=2021&issueMonth=6&certId=20210622-001&certUrl=https://certificates.nextid.com/certificate?id%3D291b71fb-79cb-4db4-bfa6-108d0c9eb2d6
这个 URL 几乎可以工作,但是 - 因为它包含一个嵌套 URL 作为最后一个参数 - 我需要将最终的 '=' 更改为 '%3D'。通过这个小修改,我可以打开像 Thunderbird 这样的电子邮件客户端并将其粘贴为 HTML(即作为链接的目标),然后可以将证书添加到收件人的 LinkedIn 个人资料中。我还可以添加图像以使其成为可点击按钮。
但是,如果我将此 URL 粘贴到 SendGrid 中的动态模板中,与号“&”会导致编辑器反对并显示错误:“预期命名实体,没有得到”。我将它们更改为 %26 并以这个修改后的 URL 结束,这不会在 SendGrid 编辑器中导致任何错误。
https://www.linkedin.com/profile/add?startTask=FS_Cert%26name=Certificate%20Of%20Achievement%26organizationId=26650704%26issueYear=2021%26issueMonth=6%26certId=20210622-001%26certUrl=https://certificates.nextid.com/certificate?id%3D291b71fb-79cb-4db4-bfa6-108d0c9eb2d6
不幸的是,当您将该 URL 粘贴到浏览器中时,该 URL 不再有效,并且在 SendGrid 电子邮件中创建的链接无法正确解析。执行 RESTful API 调用,但不传递参数。
有没有人建议如何将 RESTful API URL 插入 SendGrid 电子邮件而不导致编辑器拒绝它。也许一些Javascript?