نشر في الأصل في 6/11/2013 على مدونة Valence Developer بواسطة Sarah-Beth Bianchi.
في وصفة كتاب الطبخ API لهذا الأسبوع ، نوضح كيفية إضافة مستخدم جديد إلى بيئة التعلم باستخدام واجهات برمجة تطبيقات Brightspace. في هذا السيناريو، قام الطالب بالتسجيل ويمكنه تسجيل الدخول إلى مدخل المؤسسة، والذي يعمل كنظام معلومات الطالب وآلية تسجيل دخول أحادية لنظام إدارة التعلم (LMS). عندما يقوم المستخدم بتسجيل الدخول إلى المدخل، نحتاج إلى التحقق مما إذا كان المستخدم موجودا في نظام إدارة التعلم (LMS). إذا لم يكن المستخدم موجودا، فيجب علينا إضافة هذا المستخدم إلى نظام إدارة التعلم (LMS)، وتسجيله في مقرراته الدراسية، ثم متابعة المصادقة - كل ذلك في عملية غير مرئية للمستخدم. يفترض هذا السيناريو أن المدخل يمرر البيانات المناسبة لإنشاء المستخدم وتسجيله.
عندما يقوم الطالب بتسجيل الدخول إلى المدخل، نحتاج إلى التحقق مما إذا كان هذا المستخدم موجودا بالفعل في LMS من خلال البحث عن OrgDefinedId أو اسم المستخدم عبر واجهات برمجة تطبيقات المستخدم. دعونا نلقي نظرة على مثال لطالب لديه اسم المستخدم NCage:
GET /d2l/api/lp/1.0/users/?userName=NCage200 OK{"OrgId":6606,"UserId":10222,"FirstName":"Nicolas","MiddleName": null,"LastName":"Cage","UserName":"NCage","ExternalEmail":"NCage@test.com","OrgDefinedId":"NCage","UniqueIdentifier":"NCage","Activation":{"IsActive":true},"DisplayName":"Nicolas Cage"}
هذا المستخدم موجود بالفعل في LMS ، لذلك يجب على النظام متابعة مصادقة المستخدم.
الآن دعونا نلقي نظرة على مثال حيث لا يوجد طالب في LMS:
GET /d2l/api/lp/1.0/users/?userName=IElba404 not found{"errors":[{"رسالة": "لم يتم العثور على المورد"}]}
في هذه الحالة، نحتاج إلى إضافة هذا المستخدم الجديد:
POST /d2l/api/lp/1.0/users/{"OrgDefinedId": "IElba","FirstName": "Idris","MiddleName": "","LastName": "Elba","ExternalEmail": "IElba@test.com","UserName": "IElba","RoleId": 578,"IsActive": true,"SendCreationEmail": "true"}200 OK{"OrgId":6606,"UserId":20216,"FirstName":"Idris","MiddleName":"","LastName":"Elba","UserName":"IElba","ExternalEmail":"IElba@test.com","OrgDefinedId":"IElba","UniqueIdentifier":"IElba","Activation":{"IsActive":true},"DisplayName":" إدريس إلبا"}
بقشيشإذا لم تكن معتادا على معرف الرول الذي يجب عليك تعيينه للمستخدم، فيمكنك استرداد قائمة RoleId:
GET /d2l/api/lp/1.0/roles/200 OK[{"Identifier":"578","DisplayName":"المستخدم النهائي","Code":"المستخدم النهائي"},{"Identifier":"579","DisplayName":"Resource Creator","Code":null},{"Identifier":"580","DisplayName":"Administrator","Code":null}]
بمجرد إضافة المستخدم إلى LMS ، يمكننا استرداد قائمة بجميع عمليات التسجيل لهذا المستخدم. على سبيل المثال ، يمكننا استرداد هذه القائمة للمستخدم الذي أضفناه للتو:
GET /d2l/api/lp/1.0/enrollments/users/20216/orgUnits/200 OK{"PagingInfo": {"Bookmark": "6609","HasMoreItems": false},"Items": [{"OrgUnit": {"Id": 6606,"Type": {"Id": 1,"Code": "Organization","Name": "Organization"},"Name": "Dev","Code": null},"Role": {"Id": 578,"Code": "End User","Name": "End User"}}}]}
الآن دعنا نسجل المستخدم في الدورة التدريبية الأولى:
POST /d2l/api/lp/1.0/enrollments/{"OrgUnitId": 6609,"UserId": 20216,"RoleId": 578}200 OK{"OrgUnitId":6609,"UserId":20216,"RoleId":578,"IsCascading":false}
يختتم هذا أساسيات إنشاء مستخدم جديد باستخدام واجهات برمجة تطبيقات Valence Learning Framework.