我们正在尝试开发支持SCIM的配置系统,以便将企业云用户(ECS)中的数据配置到Salesforce(云服务提供商-CSP)。我们遵循SCIM 1.1标准。
我们可以使用Salesforce自动生成的userId字段
对User对象执行CRUD操作我们无法使用ECS提供的externalId更新/删除用户对象。 尝试了如下所示的内容......但它不起作用,抛出了Unknown_Exception ......
XXX/my.salesforce.com/services/scim/v1/Users/701984?fields=externalId
请注意,由于某些合规性原因,无法将Salesforce userId存储在ECS的数据库中。所以我们必须完全依赖externalId。
步骤1:根据Salesforce中的externalId读取userId 步骤2:使用在步骤1中获得的salesforce UserId更新User对象。 但这两步过程肯定会降低性能。
有没有办法通过externalId更新/删除用户 你能指导我们吗? 非常感谢....
答案 0 :(得分:2)
我意识到这是旧线程,但我想注意您可以使用外部ID从REST更新用户。上述问题中的端点不正确。以下是如何设置,作为PATCH请求发送:
[instance]/services/data/v37.0/sobjects/user/[external_id__c]/[external id value]
注意:
答案 1 :(得分:1)
对于其他应用程序来说,首先进行搜索然后对返回的对象执行更新是非常常见的模式。你的解决方法对我来说似乎很好。你关注什么性能问题?您是否担心Salesforce无法处理更多请求,或者您是否担心应用程序中的响应时间较长,因为您需要发出多个请求?你真的测量了额外的通话费用吗?