Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| anwenderwiki:moodle:rest_api_nutzen [2021/04/09 16:42] – angelegt 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 ... | ||