使用 Salesforce.com SOAP API 新建用户

本文详细阐述了如何通过Salesforce.com的SOAP API来新建用户,并且描述了在用户创建过程中发送欢迎邮件的步骤。内容涵盖getPartnerConnection、createNewUser等关键方法的调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍了如何使用Salesforce.com SOAP API 在Salesforce.com组织中创建新的用户。


-  生成Salesforce.com SOAP客户端代码

参见前文 - 使用 Salesforce.com SOAP API 实现用户登录


-  框架代码
private void partnerAPICreateUser() {
  try {
    PartnerConnection connection = getPartnerConnection();
        
    SObject newUser = getNewUser(connection);
        
    SaveResult result = createNewUser(connection, newUser);
        
    if (result.isSuccess()) {
      System.out.println("Created user: " + result.getId());
    } else {
      Error[] errors = result.getErrors();
      Error error = errors[0];
                
      System.out.println("Error: " + error.getStatusCode() + 
               ":" + error.getMessage());
    }
  } catch (Exception ex) {
    ex.printStackTrace();
  }
}

以上代码调用三个方法,getPartnerConnection, createNewUsercreateNewUser 然后输出成功或失败信息。


-  登录并获取Salesforce.com连接
private PartnerConnection getPartnerConnection() throws ConnectionException {
	ConnectorConfig config = new ConnectorConfig();

	config.setUsername(_username);
	config.setPassword(_password + _securityToken);
	config.setAuthEndpoint(partnerAuthEndPoint);

	if (_useProxy) {
			config.setProxy(_proxyHost, _proxyPort);
			config.setProxyUsername(_proxyUser);
			config.setProxyPassword(_proxyPassword);
	}
	
	return new PartnerConnection(config);
}

-  创建基本的Salesforce用户对象,并对必有的字段赋值
private SObject getNewUser(PartnerConnection connection) throws ConnectionException {
	SObject newUser = new SObject();
	
	newUser.setType("user");

	newUser.setField("Email", "forceapprentice@gmail.com");
	newUser.setField("LastName", "Apprentice");
	newUser.setField("Username", "forceapprentice@gmail.com");
	
	newUser.setField("Alias", "appr");
	newUser.setField("TimeZoneSidKey", "Australia/Sydney");
	newUser.setField("LocaleSidKey", "en_US");
	newUser.setField("EmailEncodingKey", "ISO-8859-1");
	newUser.setField("LanguageLocaleKey", "en_US");
	
	QueryResult profileQuery = connection.query("select Id from Profile where Name = '" + _profileName + "' limit 1");
	SObject chatterFreeProfile = profileQuery.getRecords()[0];;
	newUser.setField("ProfileId", chatterFreeProfile.getField("Id"));
	
	return newUser;
}

-  在Salesforce.com组织中创建新的用户并向新建用户发送欢迎邮件


private SaveResult createNewUser(PartnerConnection connection, SObject newUser) throws ConnectionException {

	//向新建的用户发送欢迎邮件
	connection.setEmailHeader(false, false, true);
	
	SaveResult[] results = connection.create(new SObject[] { newUser });
	return results[0];
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值