Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
anwenderwiki:moodle:rest_api_nutzen [2021/04/13 22:33] – [Was diese Anleitung kann] tobias | anwenderwiki:moodle:rest_api_nutzen [2021/04/13 22:37] (aktuell) – tobias | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Was diese Anleitung kann ====== | ||
+ | - Diese Anleitung soll zeigen, wie man einen REST-API-Nutzer in Moodle anlegt, so dass man mit externen Werzeugen Moodle über die REST-Schnittstelle ansprechen kann. | ||
+ | - Diese Anleitung soll aufzeigen, wie man mit den LDAP-Daten der linuxmuster.net (7+) die Strukur, Benutzer und Daten bearbeitet und welche Plugins dafür nötig sind (oder nicht) | ||
+ | |||
+ | === Alternativen === | ||
+ | * [[anwenderwiki: | ||
+ | * moosh als Shell-Werkzeug kann die REST-API ansteuern | ||
+ | * [[anwenderwiki: | ||
+ | |||
+ | |||
+ | |||
+ | ===== Anlegen eines API-Nutzers ===== | ||
+ | |||
+ | Entsprechend der Anleitung hier: https:// | ||
+ | |||
+ | * Als Moodle Admin anmelden, Sprache auf englisch stellen | ||
+ | === Webservice aktivieren === | ||
+ | - Webservice aktivieren (falls nicht schon geschehen): | ||
+ | * '' | ||
+ | - Webservice Protokoll " | ||
+ | * '' | ||
+ | * REST protocol: aufs Auge drücken (sichtbar machen) -> Save changes | ||
+ | === Nutzer anlegen und Webservice-Rolle anlegen und zuweisen === | ||
+ | - Einen neuen Nutzer erstellen: | ||
+ | * '' | ||
+ | Username: moodleapiuser (use your own) | ||
+ | Password: (use your own) | ||
+ | Email: use your own | ||
+ | Fill in the required fields. | ||
+ | </ | ||
+ | - Erstelle eine neue Rolle: | ||
+ | * '' | ||
+ | * press the Add new role button | ||
+ | * Select Role archetype = ARCHETYPE: Manager and press continue < | ||
+ | Shortname: apiservicemanager | ||
+ | Custom Name: API Service Manager | ||
+ | Context types where this role may be assigned: System/ | ||
+ | Leave the rest selections as they appear. | ||
+ | |||
+ | -> Capabilities | ||
+ | Add the following capabilities | ||
+ | webservice/ | ||
+ | moodle/ | ||
+ | enrol/ | ||
+ | enrol/ | ||
+ | enrol/ | ||
+ | </ | ||
+ | - Die Rolle dem moodleapiuser zuweisen: | ||
+ | * '' | ||
+ | * weise den moodleapiuser zu | ||
+ | === Webservice anlegen und den User erlauben === | ||
+ | - Webservice erzeugen, der die notwendigen Rechte besitzt etwas zu tun: Ich beschließe alles in einen Webservice zu packen, der von dem aufgerufen werden darf, der auch Benutzer anlegen darf (unser moodleapiuser) | ||
+ | * '' | ||
+ | * " | ||
+ | Name: lmn_service | ||
+ | Short: lmn_service | ||
+ | " | ||
+ | " | ||
+ | Press show more | ||
+ | Search for capability moodle/ | ||
+ | Press add service. | ||
+ | </ | ||
+ | * Jetzt gleich die notwendigen Funktionen zuweisen: '' | ||
+ | core_course_create_categories | ||
+ | core_course_create_courses | ||
+ | core_course_get_categories | ||
+ | core_course_get_courses_by_field | ||
+ | core_course_update_categories | ||
+ | core_user_create_user | ||
+ | enrol_manual_enrol_users | ||
+ | core_webservice_get_site_info | ||
+ | </ | ||
+ | - Dieser Service jetzt dem " | ||
+ | |||
+ | === Nutzer-Token erstellen === | ||
+ | - Authorization Token für den " | ||
+ | * '' | ||
+ | Username: moodleapiuser | ||
+ | Service: lmn_service | ||
+ | Save changes | ||
+ | </ | ||
+ | - Token, wie z.B. '' | ||
+ | |||
+ | === Testen === | ||
+ | - Den WEbservice mit dem Token testen: | ||
+ | * '' | ||
+ | Authentication method: token | ||
+ | Protocol: REST protocol | ||
+ | Function: core_webservice_get_site_info | ||
+ | -> Select | ||
+ | Token eingeben | ||
+ | -> Execute | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | ==== Rollen-IDs herausbekommen ==== | ||
+ | - '' | ||
+ | * Betrachte die URL bei " | ||
+ | |||
+ | ===== Daten in Moodle mit ldap2moodle.py manipulieren ===== | ||
+ | ==== Download von ldap2moodle.py ==== | ||
+ | |||
+ | ==== Konfiguration von ldap2moodle.py ==== | ||
+ | |||
+ | ==== Anpassung von ldap2moodle.py ==== | ||
+ | |||
+ | ===== Credits ===== | ||
+ | |||
+ | - Thomas Schröder | ||
+ | - Eli... Michael ... |