簡體   English   中英

創建應用程序用戶時,如何解決“用戶ID無效”的問題?

[英]How do I fix “The user Id(s) is invalid” when creating an application user?

我正在Dynamics 365中自動創建應用程序用戶 。確實創建了該用戶,但是當我稍后在代碼中嘗試為其分配角色時,我收到此消息: The user Id(s) [a guid here] is invalid. 當我嘗試從Dynamics Web UI分配用戶角色時,出現相同錯誤的變體: The user ID associated with the current record is not valid.

我在C#中使用CrmServiceClient連接到組織。

以編程方式創建用戶時,我提供以下字段:

  • firstname
  • lastname
  • businessunitid
  • applicationid
  • internalemailaddress

我注意到的一件事是,當我通過Web UI查看用戶時,我在創建中分配的應用ID不會顯示。

這是我當前的代碼:

    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) }
        });

我希望該用戶以與通過UI創建的應用程序用戶相同的方式出現在Web UI中,但事實並非如此。 它沒有顯示我在代碼中為其分配的應用程序ID,並且在嘗試為其分配角色時會拋出上述錯誤。

難道我做錯了什么? 如果答案是由現有文檔支持的,請也將其指向我,以便我了解為什么找不到它。

您的同事看起來正確。 通過嘗試將角色與正常創建的已經退出的用戶相關聯,我將對您的代碼進行故障排除。 如果可行,請使用FetchXml Builder或其他方法比較您創建的用戶和通過UI創建的用戶的潛在差異,然后嘗試解決這些問題,直到確定導致錯誤的原因。

暫無
暫無

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

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