SOAP API を使用して、プログラムで一度に 5 ~ 6 人の SalesForce ユーザーを作成したいと考えています。Partner API を使用しており、Developer エディションのサンドボックスを使用しています。データベース テーブルからユーザー情報を取得し、API を使用してこれらの 5 ~ 6 人のユーザーを一度に作成したいと考えています。1 人のユーザーを作成できますが、別のユーザーを作成するとエラーがスローされますLICENSE_LIMIT_EXCEEDED:License Limit Exceeded
。
これは、データベースからユーザー情報を取得し、プログラムでユーザーを作成するコードのスナップショットです。
SObject user = new SObject();
user.setType("User");
while (rs.next()) {
user.setField("Alias", rs.getString("Alias"));
user.setField("Email", rs.getString("Email"));
user.setField("EmailEncodingKey", rs.getString("EmailEncodingKey"));
user.setField("LanguageLocaleKey", "En_US");
user.setField("LastName", rs.getString("LastName"));
user.setField("LocaleSidKey", rs.getString("LocaleSidKey"));
user.setField("TimeZoneSidKey", "America/Los_Angeles");
user.setField("Username", rs.getString("Username"));
user.setField("UserPermissionsCallCenterAutoLogin", "false");
user.setField("UserPermissionsMarketingUser", "false");
user.setField("UserPermissionsOfflineUser", "false");
user.setField("ProfileId", connection.getUserInfo().getProfileId());
SaveResult[] results = connection.create(new SObject[] { user });
System.out.println("Created user: " + results[0].getId());
if (results[0].isSuccess())
out.println("Created user: " + results[0].getId());
else
out.println("Error: " + results[0].getErrors()[0].getStatusCode() +
":" + results[0].getErrors()[0].getMessage());
}
QueryResult queryResults = connection
.query("SELECT Id, Name from User "
+ "ORDER BY CreatedDate DESC LIMIT 5");
if (queryResults.getSize() > 0) {
for (SObject s : queryResults.getRecords()) {
out.println("Id: " + s.getField("Id") + " - Name: "
+ s.getField("Name"));
}
}
ここで 1 人のユーザーを作成できますが、1 人のユーザーを作成した後、エラーがスローされますLICENSE_LIMIT_EXCEEDED:License Limit Exceeded
。
利用可能なライセンスの数は次のとおりです。
SalesForce の残りのライセンスが 0 であることがわかります。ただし、必ずしも SalesForce ユーザーである必要のないユーザーをいくつか作成したいだけです。私の組織にログインできるユーザーであれば、どのタイプのユーザーでもかまいません。「Chatter Free」を使用して 5000 ライセンスを持つ別のタイプのユーザーを作成しようとするとuser.setField("UserType", "CsnOnly")
、エラーが発生します。INVALID_FIELD_FOR_INSERT_UPDATE:Unable to create/update fields: UserType
これらは私のSalesForceのユーザーです:
この問題を解決するには?データベースから何人かのユーザーを作成して、SalesForce にログインできるようにしたいだけです。管理者である必要はありません。最小限の権限を持つことができますが、SalesForce にログインできる必要があります。