SalesForce 集成 - 在 SF 对象定义更改时通知外部系统

Posted

技术标签:

【中文标题】SalesForce 集成 - 在 SF 对象定义更改时通知外部系统【英文标题】:SalesForce integration - notify external system on SF object definition change 【发布时间】:2013-09-11 16:04:41 【问题描述】:

我们有一个使用 SF SOAP API 与 SalesForce 集成的软件。当我们在用户级别向/从 SF 发送/接收数据时,我们必须知道哪些 SF 对象和对象字段是用户允许访问的(基于 SF 可见性规则)。因此,我们首先调用 describeSObject(objName) 并将其存储到我们的缓存中以加快集成速度。

发生的情况是,当我们的客户端更改可见性规则或重命名 SF 端的对象字段时,他们必须使我们的应用程序中的缓存无效。如果他们忘记这样做(他们通常会这样做),我们就不会知道我们的缓存是无效的。

问题:当可见性规则发生变化或对象字段被添加/删除/重命名时,有没有办法从 SF 调用我们的 Web 服务?如果可能的话,由于 SF 中的可见性规则非常复杂,我们如何区分哪些用户受到更改的影响(因此我们不会使每个人的缓存都失效)?

【问题讨论】:

【参考方案1】:

我怀疑你目前不能。

作为替代方法,捕获由于元数据不匹配而发生的异常并刷新该用户的本地缓存。然后使用更新的元数据重试原始请求。

【讨论】:

嗯,这样我就无法知道对象 SF 定义是否真的改变了,或者我只是有错误的映射或无效的 SF 查询(我们的客户可以将自己的查询写入 SF)。我不能每次都清除缓存 - 这只能保证性能不佳。 我并不是说每次都清除缓存。仅当查询返回的异常表明您的元数据对用户而言已过期时。 IE。他们请求了一个不再存在的字段。我认为除了轮询元数据之外,没有其他方法可以检测架构更改。 “我怀疑你目前不能。” - 此时看起来像是正确答案。无法订阅元数据更改。

以上是关于SalesForce 集成 - 在 SF 对象定义更改时通知外部系统的主要内容,如果未能解决你的问题,请参考以下文章

Salesforce 开发整理项目部署总结

使用 python simple-salesforce 访问 salesforce 元数据

Salesforce权限管理

Salesforce .net 集成

Salesforce REST 接口集成服务

由于无法在 SF SDK 中找到类别,将 ObjC 项目与 SalesForce SDK 桥接会导致崩溃