【问题标题】:How do I add a salesforce community user using the API?如何使用 API 添加 Salesforce 社区用户?
【发布时间】:2019-10-03 23:05:29
【问题描述】:

我已经下载了 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);
    }

还有其他人成功地做到了这一点吗?或者知道我做错了什么?

【问题讨论】:

    标签: c# salesforce


    【解决方案1】:

    有一个创建外部用户的特殊功能。尝试 CreateExternalUser() 函数的变体:https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_sites.htm

    【讨论】:

      猜你喜欢
      • 2021-06-17
      • 1970-01-01
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多