Salesforce 是否可以通过externalId更新/删除用户
我们正在尝试开发一个支持SCIM的资源调配系统,用于将数据从企业云订户(ECS)调配到Salesforce(云服务提供商CSP)。我们遵循SCIM 1.1标准 我们能做什么: 我们能够使用Salesforce自动生成的用户ID字段对用户对象执行CRUD操作 确切问题: 我们无法使用ECS提供的externalId更新/删除用户对象。 尝试了以下内容。。。但它不工作,引发未知的\u异常Salesforce 是否可以通过externalId更新/删除用户,salesforce,scim,Salesforce,Scim,我们正在尝试开发一个支持SCIM的资源调配系统,用于将数据从企业云订户(ECS)调配到Salesforce(云服务提供商CSP)。我们遵循SCIM 1.1标准 我们能做什么: 我们能够使用Salesforce自动生成的用户ID字段对用户对象执行CRUD操作 确切问题: 我们无法使用ECS提供的externalId更新/删除用户对象。 尝试了以下内容。。。但它不工作,引发未知的\u异常 XXX/my.salesforce.com/services/scim/v1/Users/701984?fiel
XXX/my.salesforce.com/services/scim/v1/Users/701984?fields=externalId
请注意,由于某些合规性原因,无法在ECS数据库中存储Salesforce用户ID。因此,我们必须完全依赖外部性
可能的解决办法:
步骤1:根据Salesforce的externalId读取用户ID
步骤2:使用步骤1中获得的salesforce用户ID更新用户对象。
但这两个步骤肯定会降低性能
有没有办法通过externalId更新/删除用户
你能在这方面指导我们吗。。
非常感谢……对于其他应用程序来说,首先搜索然后对返回的对象执行更新也是非常常见的模式。我觉得你的变通方法很好。您关心的性能问题是什么?您是否担心Salesforce无法处理更多请求,或者您是否担心应用程序中的响应时间过长,因为您需要发出多个请求?您是否实际测量了一个额外调用的成本?对于其他应用程序来说,首先搜索然后对返回的对象执行更新也是非常常见的模式。我觉得你的变通方法很好。您关心的性能问题是什么?您是否担心Salesforce无法处理更多请求,或者您是否担心应用程序中的响应时间过长,因为您需要发出多个请求?您是否实际测量了一个额外呼叫的成本?我知道这是一个旧线程,但需要注意的是,您可以使用外部ID从REST更新用户。上述问题中的端点不正确。以下是如何设置它,并作为修补程序请求发送:
[instance]/services/data/v37.0/sobjects/user/[external_id__c]/[external id value]
- 实例=您的实例,即
- external\u id\u c=用户上自定义外部id字段的API名称
- 外部id值=用户的外部id值
- Salesforce使用HTTP 204状态代码进行响应,正文中没有任何内容,这在补丁请求中并不常见,但这是“成功”响应
- 用户的外部id必须是自定义字段,请确保已设置 独一无二
- 确保拨打电话的用户的配置文件/权限集 具有“管理用户”权限并有权访问外部id字段
[instance]/services/data/v37.0/sobjects/user/[external_id__c]/[external id value]
- 实例=您的实例,即
- external\u id\u c=用户上自定义外部id字段的API名称
- 外部id值=用户的外部id值
- Salesforce使用HTTP 204状态代码进行响应,正文中没有任何内容,这在补丁请求中并不常见,但这是“成功”响应
- 用户的外部id必须是自定义字段,请确保已设置 独一无二
- 确保拨打电话的用户的配置文件/权限集 具有“管理用户”权限并有权访问外部id字段