Я автоматизирую создание пользователя приложения в Dynamics 365. Пользователь действительно создается, но когда я пытаюсь назначить ему роль позже в коде, я получаю это сообщение: The user Id(s) [a guid here] is invalid.
Когда я пытаюсь назначить пользователю роль из веб-интерфейса Dynamics, я получаю вариант той же ошибки: The user ID associated with the current record is not valid.
.
Я использую CrmServiceClient в C # для подключения к организации.
Я предоставляю следующие поля при программном создании пользователя:
firstname
lastname
businessunitid
applicationid
internalemailaddress
Одна вещь, которую я заметил, это то, что когда я смотрю на пользователя через веб-интерфейс, идентификатор приложения, который я назначил при создании, непоказать.
Это мой текущий код:
private void SetUpPermissions()
{
var roleId = GetRoleId();
var userId = CreateApplicationUser();
CrmSvc.Associate(
"systemuser",
userId,
new Relationship("systemuserroles_association"),
new EntityReferenceCollection {
new EntityReference("role", roleId)
});
}
private Guid CreateApplicationUser() => CrmSvc.CreateNewRecord("systemuser", new Dictionary<string, CrmDataTypeWrapper>
{
{ "firstname", new CrmDataTypeWrapper(ProposalManagerApplicationName, CrmFieldType.String) },
{ "lastname", new CrmDataTypeWrapper("Application", CrmFieldType.String) },
{ "businessunitid", new CrmDataTypeWrapper(BusinessUnitId.Value, CrmFieldType.Lookup) },
{ "applicationid", new CrmDataTypeWrapper(ApplicationId, CrmFieldType.Key) },
{ "internalemailaddress", new CrmDataTypeWrapper("testcrm3@mydomain.com", CrmFieldType.String) }
});
Я бы ожидал, что этот пользователь будет отображаться в веб-интерфейсе так же, как и пользователь приложения, созданный с помощью пользовательского интерфейса, но этоне.Он не показывает идентификатор приложения, назначенный ему в коде, и выдает вышеупомянутую ошибку при попытке назначить ему роль.
Я что-то не так делаю?Если ответ подкреплен существующей документацией, пожалуйста, укажите мне также, чтобы я мог понять, почему я не нашел его.