Merge Fields — Important Considerations

DEX455 - Apex 集成与工具完全指南:Callouts、命名凭据、WSDL2Apex、Mock 测试

📄 第 365 页 🎬 视频课程

课程章节介绍

好,咱们来看一下在 Salesforce 里用“合并字段”构建 HTTP 请求的 Header 和正文时,必须留意的几个要点。这些点虽小,但很容易踩坑,你听我慢慢说。 首先,要想让你写的 Apex 代码顺利用上合并字段,光写代码可不够。你的 Salesforce 管理员得先在对应的命名凭据里,把两个开关都打开:一个是“允许在 HTTP 头部使用合并字段”,另一个是“允许在请求正文中使用合并字段”。这两个权限缺一不可,否则合并字段根本不会生效。 接着,如果你需要读写那些自定义的 HTTP 头,注意可不是直接在合并字段里乱写,而是得通过 Connect REST API 去操作。这是官方指定的方式,别走错路了。 再说正文里的合并字段。如果你想对里面的特殊字符做转义,可以用一个公式函数叫 `HTMLENCODE`。但这里规矩很严:公式必须以 `HTMLENCODE` 打头,而且不能再嵌套别的公式函数,就它一个,干干净净。反过来,这个 `HTMLENCODE` 可不许用在 HTTP 头部的合并字段里。头部的特殊字符要另外想办法,比如凭据里自带的处理机制,千万别硬套。 最后,还跟 SOAP API 调用有个相关点:一旦在 SOAP 调用里用了合并字段,那个 OAuth 访问令牌是不会自己刷新的。也就是说,如果令牌过期了,你的调用就会失败,需要你额外去处理令牌的刷新逻辑。 把这几点记牢,你在用合并字段构造 HTTP 请求时,就会顺手很多,不容易被小问题卡住。

关键词

Apex Salesforce Developer Guide