python - 使用 simple-salesforce 创建外部用户
问题描述
我想创建一个外部用户,因为我想在创建用户后发送一封确认电子邮件,但我找不到使用 simple-salesforce 执行此操作的方法。
我已经看到使用 APEX 类站点可以做到(https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_sites.htm?search_text=site)。
我怎样才能做到这一点?还有其他方法吗?
import json
from simple_salesforce import Salesforce, SalesforceLogin, SFType
def lambda_handler(event, context):
session_id='session'
instance='instance'
sf = Salesforce(instance=instance, session_id=session_id)
sftype_user = SFType('User', session_id, instance)
params={
"Username": "user@username.com",
"FirstName": "User",
"LastName": "Test",
"Email": "user@username.com",
"Alias": "user",
"TimeZoneSidKey": "Europe/Berlin",
"LocaleSidKey": "es_ES",
"EmailEncodingKey": "ISO-8859-1",
"ProfileId": "profileid",
"LanguageLocaleKey":"es"
}
user = sftype_user.createUser(params)
String userId = Site.createExternalUser(user, None, None, True)
print(userId)
解决方案
“简单”使用 REST API。据我所知,没有与 Apex 的 Site 类方法对应的 REST API 调用。
您应该可以使用正常的用户创建调用,只需在其中传递ContactId
正确的社区相关ProfileId
。如果您遇到任何问题 - 编辑问题?
或者尝试编写一段适用于您的 Apex 代码并将其公开为REST 服务并从 Python 调用它。特别有用,如果您最终必须对用户做更多事情,也许让他成为组成员,也许分配一些权限集......您希望这是一个全有或全无的事务,而不是浪费单独的 API 调用.
推荐阅读
- android - 片段 TextView 无法从 parcelable 对象更新
- css - 为什么 ::after 出现在所有 div 中?
- reactjs - 是否可以在 React 中使用 React.useState(() => {})?
- .htaccess - 受保护目录中的 401 错误文档
- python-3.x - 为什么生成一些 TFrecord 文件时不能拆分文件?
- mysql - MySQL - 多个外键,仅对单个检查约束有效
- python - 如何在 Eclipse 中为单个功能配置 pytest
- login - 铁网刮刀 - 登录
- c# - 在 WAV 文件上接收“NAudio.MmException: NoDriver calling acmFormatSuggest”异常
- java - 我有一个对列表如何检查列表是否包含特定元素。list.contains 函数总是给出错误