【发布时间】:2012-09-20 07:39:02
【问题描述】:
我想通过使用 SOAP API 以编程方式禁用用户。我怎样才能做到这一点?我正在使用合作伙伴 API,并且我有开发人员版。我已经设置了管理用户权限。我已经浏览了this 链接。我正在寻找可以帮助我禁用/停用用户的代码。
这是我的代码:
import com.sforce.soap.partner.Connector;
import com.sforce.soap.partner.PartnerConnection;
import com.sforce.soap.partner.QueryResult;
import com.sforce.soap.partner.sobject.SObject;
import com.sforce.ws.ConnectionException;
import com.sforce.ws.ConnectorConfig;
public class DeactivateUser {
public static void main(String[] args) {
ConnectorConfig config = new ConnectorConfig();
config.setUsername("waprau@waprau.com");
config.setPassword("sjjhggrhgfhgffjdgj");
PartnerConnection connection = null;
try {
connection = Connector.newConnection(config);
QueryResult queryResults = connection.query("SELECT Username, IsActive from User");
if (queryResults.getSize() > 0) {
for (SObject s : queryResults.getRecords()) {
if(s.getField("Username").equals("abcd@pqrs.com")){
System.out.println("Username: " + s.getField("Username"));
s.setField("IsActive", false);
}
System.out.println("Username: " + s.getField("Username") + " IsActive: " + s.getField("IsActive"));
}
}
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
}
这是输出:
Username: waprau@waprau.com IsActive: true
Username: jsmith@ymail.net IsActive: false
Username: abcd@pqrs.com
Username: abcd@pqrs.com IsActive: false
但是在 UI 中,当我转到“我的姓名”>“设置”>“管理用户”>“用户”时,它总是为用户 abcd@pqrs.com 显示“活动”复选框:-(
【问题讨论】:
-
我想你忘了在 set
IsActive之后打电话给connection.update,请阅读 > salesforce.com/us/developer/docs/api/… -
感谢 Martin Borthiry 指出缺少的内容。我会调查的。
标签: api soap salesforce