2013-10-09 54 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作爲公共值,並進行一系列調用以獲取可以聯合在一起的兩個數據集。