Salesforce 是否可以通过externalId更新/删除用户

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

我们正在尝试开发一个支持SCIM的资源调配系统,用于将数据从企业云订户(ECS)调配到Salesforce(云服务提供商CSP)。我们遵循SCIM 1.1标准

我们能做什么: 我们能够使用Salesforce自动生成的用户ID字段对用户对象执行CRUD操作

确切问题: 我们无法使用ECS提供的externalId更新/删除用户对象。 尝试了以下内容。。。但它不工作,引发未知的\u异常

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字段

我意识到这是一个旧线程,但要注意,您可以使用外部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字段

亲爱的Bertold,非常感谢您的快速回复。事实上,我们关心的是更高的响应时间,因为我们需要处理多个请求。感谢您让我们知道这是资源调配中的常见做法。由于似乎没有其他解决办法,我们将继续解决这个问题。谢谢,我很少考虑到响应时间的影响:1)在呼叫之间保持连接打开,2)使用连接池,3)在存储器中缓存查找(外部ID到用户ID),以减少对Salesforce的调用。我希望这会有帮助。当然,当然。我们会听从你的建议。非常感谢sooo muchDear Bertold,非常感谢您的快速回复。事实上,我们关心的是更高的响应时间,因为我们需要处理多个请求。感谢您让我们知道这是资源调配中的常见做法。由于似乎没有其他解决办法,我们将继续解决这个问题。谢谢,我很少考虑到响应时间的影响:1)在呼叫之间保持连接打开,2)使用连接池,3)在存储器中缓存查找(外部ID到用户ID),以减少对Salesforce的调用。我希望这会有帮助。当然,当然。我们会听从你的建议。非常感谢你