- Salesforce の User を
Anonymous Apex Code
で追加するためのミニメモです。 -
Developer Console
(開発者コンソール) のDebug
|Open Execute Anonymous Window
から実行可能です。 - 後述の Apex Code を理解できる人、かつ、User オブジェクトの特性を知る人が Apexを実行することを前提とします。
Profile の Id を取得する
作成したいユーザの Profile の Id
を取得するために、SOQL をもちいて既存ユーザーを参考として確認します。
- UserName の LIKE検索の値は、参考にしたいユーザをヒットさせるための適当な値に更新して SOQL実行
- SOQL 検索結果の Profile の Id の値をメモ
SELECT Username, Email, LastName, Alias, CommunityNickname
, ProfileId, Profile.Name, TimeZoneSidKey, LocaleSidKey
, EmailEncodingKey, LanguageLocaleKey, LastLoginDate
FROM User
WHERE UserName LIKE '%MyName%'
Salesforce の User を Apex で追加する
Anonymous Apex Code 上の文字列値を適切な値で上書きしたうえで実行します。
- 注意: どのような UserName の Userレコードが作成されるのかを Apex を確認して理解して確信を持ってから Apex を実行すること
- この例では User レコードが追加されるのみ
- パスワードリセットは別途実施が必要
- メールアドレスなどを実際に登録したい文字列値で更新する
- profId はその環境における正しい Id 文字列値で更新する
String sandboxSuffix = '.sand001';
String profId = '00eevvvvvv2vVvVVVU';
String shortName = 'tigap';
String emailAddr = 'tigap@example.org';
String usrName = emailAddr + sandboxSuffix;
System.debug('Add user: begin: ' + usrName);
User newUser = new User(Username = usrName, Email = emailAddr
, LastName = shortName, Alias = shortName, CommunityNickname = shortName
, ProfileId = profId
, TimeZoneSidKey = 'Asia/Tokyo', LanguageLocaleKey = 'ja', LocaleSidKey = 'ja_JP'
, EmailEncodingKey = 'ISO-2022-JP'
);
insert newUser;
System.debug('Add user: end.');
Apex 実行後に User を確認する
- User オブジェクトに、指定した内容の User レコードが追加されたことを確認
- パスワードリセットは必要に応じて別途設定画面などから実施
補足
-
DataLoader
が利用しづらい場面などで役立つ可能性あり
文書情報
初出: 2021-11-08
関連情報
- シンプルな オブジェクトからレコード検索 サンプル (Salesforce CLI で Anonymous Apex Code 版)
- シンプルな オブジェクトへレコード追加 サンプル (Salesforce CLI で Anonymous Apex Code 版)
- シンプルな オブジェクトのレコード更新 サンプル (Salesforce CLI で Anonymous Apex Code 版)
- シンプルな オブジェクトのレコード削除 サンプル (Salesforce CLI で Anonymous Apex Code 版)
- シンプルな オブジェクトの項目一覧取得 サンプル (Salesforce CLI で Anonymous Apex Code 版)
- Salesforce の Userレコードを Anonymous Apex Code で追加するメモ