Я настроил веб-сервис REST на Moodle 3.0.5 для использования функции core_course_get_courses
, которая должна вернуть ответ, содержащий основную информацию обо всех доступных курсах.Разрешение на установку Moodle не влияет
Это URL я использую:
https://example.com/webservice/rest/server.php?wstoken=713898e3fcaf9ead2218eb7565993230&wsfunction=core_course_get_courses&moodlewsrestformat=json
И это то, что я получаю:
{
"exception": "required_capability_exception",
"errorcode": "nopermissions",
"message": "Sorry, but you do not currently have permissions to do that (View courses without participation)"
}
Разрешение на вопрос был задан с самого начала, то есть:
moodle/course:view
Это не имеет никакого эффекта. Я даже разрешил все, несколько сотен разрешений, чтобы посмотреть, будет ли это работать, но все равно никакого эффекта.
Я использовал другую функцию с той же службы, он работает !:
core_enrol_get_enrolled_users
Другим важным фактом является то, что функция core_course_get_courses
работает на местном, разработку машины с новой установки Moodle. В рабочей среде установлено 50 дополнительных плагинов. Отладка, «дополнительные сообщения отладки Moodle для разработчиков» включена, но ошибок нет.
Что может быть причиной этого?
P.S. Девиация машина Ubuntu 14.04
Пользователь имеет все возможные разрешения, установленные в настоящее время в соответствии с «Проверка системных разрешений». Существует несколько сотен курсов. Настройка свойств для каждого пользователя не является вариантом. Что, когда кто-то завтра добавляет ряд новых курсов. –
У меня есть подсказка, чтобы использовать пользователя Admin для остальных веб-сервисов. Я создал для него токен и добавил пользователя к конкретной роли. Он не ответил на ошибку «nopermissions», но «500 внутренних ошибок сервера»: -D –
Есть ли способ для разбивки на результат ответа REST? По документам нет. –