Как добавить пользователя сообщества salesforce с помощью API? - PullRequest
0 голосов
/ 04 октября 2019

Я скачал API WSDL и добавил его в свой проект на C #, и у меня есть много успешных интеграций, работающих как на основе данных, так и на уровне данных. У меня большие проблемы с созданием учетных записей пользователей сообщества для нашей системы управления обучением.

Я не могу сказать, нужно ли мне указывать учетную запись, или контакт, или тип пользователя, и нетЧто бы я ни пытался, я получаю ошибку, которая не приводит меня к логическому исправлению.

Я думаю, что я ближе всего к приведенной ниже конфигурации, которая дает мне эту ошибку: «Вы не можетесоздайте контакт для этого пользователя, потому что у организации нет необходимых разрешений. Обратитесь за помощью в службу поддержки клиентов Salesforce. "

Это мой код на C #, с которым я пытаюсь создать учетную запись пользователя:

    public UpsertResponse UpsertLearningUser()
    {
        SFProd.User U = new SFProd.User();

        U.Id = UserID;
        U.Username = UserName;
        U.Alias = TechCode;
        U.CommunityNickname = FirstName + "." + LastName;
        U.FirstName = FirstName;
        U.LastName = LastName;
        U.MiddleName = MiddleName;
        U.Title = Title;
        U.Department = Department;
        U.Division = Division;
        U.IsActive = Active;
        U.IsActiveSpecified = true;
        U.UserPermissionsChatterAnswersUser = true;
        U.UserPermissionsChatterAnswersUserSpecified = true;
        //U.UserPermissionsMobileUser = true;
        //U.UserPermissionsMobileUserSpecified = true;
        U.Phone = Phone;
        U.EmployeeNumber = ADPNumber;
        U.NS_Internal_ID__c = NSEmployeeID.ToString();
        U.Employee_ID__c = double.Parse(EmployeeID.ToString());
        U.Employee_ID__cSpecified = true;
        U.Zone__c = Department;
        U.Region__c = Division;
        U.Certification_Level__c = CertificationLevel;
        if (CertificationLevelDate != DateTime.Parse("1/1/1900"))
        { 
            U.Certification_Level_Date__c = CertificationLevelDate;
            U.Certification_Level_Date__cSpecified = true;
        }
        U.Country = Country;
        U.State = State;
        U.City = City;
        U.PostalCode = PostalCode;
        U.Street = Street;
        U.Email = Email;
        U.TimeZoneSidKey = "America/Chicago";
        U.EmailEncodingKey = "ISO-8859-1";
        U.ProfileId = "00ef10000016tfvAAA";
        U.LanguageLocaleKey = "en_US";
        U.ContactId = ContactID;

        List<SFProd.sObject> Objs = new List<SFProd.sObject>();

        Objs.Add(U);

        return new UpsertResponse(SFConnection.RunUpsert("Username", Objs)[0], UserID);
    }

Кто-нибудь еще сделал это успешно? или есть идеи, что я делаю не так?

1 Ответ

1 голос
/ 04 октября 2019

Существует специальная функция для создания внешних пользователей. Попробуйте вариант функции CreateExternalUser (): https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_sites.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...