2013-10-09 57 views
0

我正在一个项目,我们计划发送一些数据回Desire2Learn。我已经很远了,我可以查询用户列表,我可以获取他们的个人资料ID,获取他们的个人资料,然后更新所述个人资料。获取配置文件ID基于OrgDefinedID

我在浏览文档时注意到,如果我打电话给/d2l/api/lp/1.3/users/?OrgDefinedId=123456789,它只返回一个用户,如下所示。

[ 
    { 
     "OrgId": "{{ORG_ID}}", 
     "UserId": 12345, 
     "FirstName": "Christopher", 
     "MiddleName": null, 
     "LastName": "Sterling", 
     "UserName": "csterli1", 
     "ExternalEmail": "{MY_EMAIL}", 
     "OrgDefinedId": "123456789", 
     "UniqueIdentifier": "{{UID}}", 
     "Activation": { 
      "IsActive": true 
     }, 
     "DisplayName": "Chris Sterling" 
    } 
] 

的问题,我相信,我碰到的是,为了让我获取配置文件ID,我不能把上述网址,而是,我要打电话/d2l/api/lp/1.3/enrollments/orgUnits/{{ORG_ID}}/users/。那个电话会返回配置文件ID,但它也会返回所有用户,以100为增量。

我想知道的是,如果有一种方法可以将OrgDefinedId传递给登记方法并使其返回用户对象?

如果不是这样,我想知道,有没有更好的方法来做我想做的事情。目前,我似乎要进行大量的通话以获取所有用户,以便我们可以为特定用户获取其个人资料ID。

谢谢!

回答

1

对于登记呼叫,当前没有更好的过滤器,配置文件标识符也不会出现在从.../users/调用返回的管理用户数据记录中。

GET classlist for orgunit调用还返回包含用户配置文件标识符的数据,并且它返回JSON数组中的数据而不是页面集。 Enrollment.ClasstlistUser结构包含LMS UserId(Identifier)和用户配置文件ID(ProfileIdentifier)数据,并且可以也包含OrgDefinedId属性。但是,为了找回最后的数据,您的LMS必须配置为在Classlist工具中提供组织定义的ID。如果不是,那么要在配置文件标识符和组织定义的标识符之间进行联合,您需要使用LMS UserId作为公共值,并进行一系列调用以获取可以联合在一起的两个数据集。