获取基于OrgDefinedID的配置文件ID

时间:2013-10-09 18:44:12

标签: desire2learn

我正在开展一个项目,我们计划将一些数据发送回Desire2Learn。我已经相当远了,我可以查询用户列表,我可以获取他们的个人资料ID,获取他们的个人资料,然后更新所述个人资料。

在查看文档时,我注意到,如果我调用/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传递给enrollments方法并让它返回用户对象?

如果情况并非如此,我想知道,有没有更好的方法来做我想做的事情。目前看起来我将进行大量调用以获取所有用户,以便我们可以获取给定用户的个人资料ID。

谢谢!

1 个答案:

答案 0 :(得分:1)

目前,在注册调用中没有更好的过滤器,配置文件标识符也不会出现在.../users/调用返回的管理用户数据记录中。

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