簡體   English   中英

如何使用 API 添加 salesforce 社區用戶?

[英]How do I add a salesforce community user using the API?

我已經下載了 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);
    }

有沒有其他人成功地做到了這一點? 或者知道我做錯了什么?

有一個特殊的 function 用於創建外部用戶。 嘗試 CreateExternalUser() function 的一種變體: https://developer.salesforce.com/docs/atlasexth/mex_apexclasses.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM