error-handling - 由于 DUPLICATES_DETECTED 错误,即使在重复规则中使用允许设置,也无法更新 Salesforce 帐户
问题描述
我正在使用JSforce将 Salesforce 集成到我的应用程序中。当我通过 JSforce 更新功能从我的终端更新 Salesforce 帐户时,它收到DUPLICATES_DETECTED错误,因为 Salesforce 认为此帐户与另一个帐户重复。尽管我在 Salesforce 页面的重复规则设置中设置了允许,并且我们可以在其上成功编辑此帐户,但由于此错误,我无法通过 API(使用 JSforce)完成此操作。这是否可以通过 JSforce 绕过重复管理而不禁用这些规则?
const jsforce = require('jsforce');
/* Update to Salesforce */
update: function (updateObject, callback) {
this.getSObject().update(updateObject, callback);
}
一些文档建议通过这样的 API 肥皂在请求的标头中将 allowSave 设置为true,但我不使用 API 肥皂,而是使用 JSforce。
解决方案
您刚刚有可能在 jsforce 使用的 REST API 中执行此操作。
你可以这样做:
sfConnection.sobject("Account").create(mappedAccounts, {
allowRecursive: true,
headers: {
'Sforce-Duplicate-Rule-Header': 'allowSave=true'
}
});
这在文档中没有明确解释,但你可以从他们的代码中弄清楚。您可以在此处找到其他可能的值:https ://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/headers_duplicaterules.htm
推荐阅读
- node.js - 尝试通过 Gitlab CI/CD 部署到 Digital Ocean 时出现 SSH 错误
- c - 如何用C语言读取文件内容并比较字符串
- python - 为什么代码无法逼近平方函数?
- jquery - Wordpress 联系表 7 显示禁用星期几
- reactjs - v-for 在反应中的等价物是什么?
- api - Google Cloud API Gateway - 安全功能
- node.js - 无法在 imap append 中设置“To”和“Subject”标头
- c++ - 我应该在 catch (exception& e) 之后写 catch (...) 吗?
- google-cloud-platform - 删除 Google 存储桶作为负载均衡器后端的大小写敏感性
- three.js - 在 Threejs 中不可见的运行场景时添加到组对象的网格