在C#控制台应用程序中获取SystemUser的用户名(Dynamics CRM)

时间:2015-07-22 11:44:26

标签: dynamics-crm

有没有办法在常规C#控制台应用程序中获取用户名(或Fullname或任何关闭SystemUser的东西)?

如果我执行WhoAmIRequest然后使用UserId从OrganizationService中检索“SystemUserEntity”,则表示没有名称为“SystemUser”的实体。

如果我尝试使用UserId向OData REST端点发出GET请求(例如: http://localhost:8081/TestOrg/XRMServices/2011/OrganizationData.svc/SystemUserSet(guid'58a30c1a-3730-e511-80c8-080027c078bd'),我保留获得401禁止,但如果我只是将该链接粘贴到我的浏览器中,我将获得所需的所有信息。据我了解,这是因为我在使用浏览器时已经进行了身份验证。

因此,另一个可能的问题是“如何在C#控制台应用程序中获得正确的身份验证以与OData REST端点进行通信”。

1 个答案:

答案 0 :(得分:2)

拥有用户ID后检索全名的方式如下:

<button name="answers" id="first" truly="true">first</button>
<button name="answers" id="second">second</button>
<button name="answers" id="third">third</button>

$("button[name=answers]").click(function(){
  if($(this).attr("truly")) alert("congratilations")
})

请注意,您必须使用逻辑名称(全部小写)而不是架构(大写)名称,即// guid userId = ... var username = service.Retrieve("systemuser", userId, new ColumnSet("fullname")).GetAttributeValue<string>("fullname"); 而不是systemuser