#java #api #rest #microsoft-graph-api
#java #API #rest #microsoft-graph-api
Вопрос:
Я пытаюсь создать консольное приложение на Java, с помощью которого я хочу перенести более 100000 пользователей в Azure AD B2C.
Для этой цели мы используем Graph API.
Я создал файл формата JSON, который содержит список пользователей, выглядит следующим образом :
{
"users": [
{
"displayName": "Amanda Polly",
"givenName": "Amanda",
"surname": "Polly",
"extension_user_type": "user",
"identities": [
{
"signInType": "emailAddress",
"issuerAssignedId": "amandapolly@gmail.com"
}
],
"extension_timezone": "PST",
"extension_locale": "en-US",
"extension_tenant": "EG1234"
},
{
"displayName": "Lowa Doe",
"givenName": "Lowa",
"surname": "Doe",
"extension_user_type": "user",
"identities": [
{
"signInType": "userName",
"issuerAssignedId": "lowadow123"
}
],
"extension_timezone": "PST",
"extension_locale": "en-US",
"extension_tenant": "EG1234"
}
]
}
У меня есть это в (точечном) файле json, я должен использовать этот файл и создавать пользователей в b2c active directory с помощью graph API, нужна помощь в запуске.
Ответ №1:
Пользовательский graph api и отправить post-запрос, подобный этому
Установите все поля, а затем обработайте это следующим образом.
User createNewUser = new User();
createNewUser.displayName = displayName;
if (givenName.equals(null) || givenName.isEmpty() || givenName.equals("") || givenName.equals(" ")) {
LOG.warn("givenName is empty");
} else {
createNewUser.givenName = givenName;
}
if (surname.equals(null) || surname.isEmpty() || surname.equals("") || surname.equals(" ")) {
LOG.warn("surname is empty");
} else {
createNewUser.surname = surname;
}
final LinkedList<ObjectIdentity> identitiesList = new LinkedList<ObjectIdentity>();
ObjectIdentity identities = new ObjectIdentity();
identities.signInType = signInType;
identities.issuerAssignedId = issuerAssignedId;
identities.issuer = "controlme.onmicrosoft.com";
identitiesList.add(identities);
createNewUser.identities = identitiesList;
PasswordProfile passwordProfile = new PasswordProfile();
passwordProfile.password = generatePassword(15);
passwordProfile.forceChangePasswordNextSignIn = false;
createNewUser.passwordProfile = passwordProfile;
createNewUser.passwordPolicies = "DisablePasswordExpiration";
User buildUserRequest = graphClient.users()
.buildRequest()
.post(createNewUser);