Сервисный модуль позволяет использовать удаленные протоколы (xmlrpc, soap, rest и т. Д.) Для связи стороннего приложения с Drupal.
Чтобы использовать его, необходимо указать хотя бы одну конечную точку.Имя установки, протокол, разрешенные ресурсы (узлы, пользователи, файлы, комментарии и т. Д.).
Например, определите конечную точку xmlrpc.Затем вы можете вызвать его из клиента xmlrpc на Android.
xml-rpc предоставляет набор удаленных методов, наиболее интересными из которых являются:
- user.login - входит в систему user, itпринимает имя пользователя и пароль в качестве аргументов
- user.logout - выход из системы
Операции узла CRUD:
- node.retrieve - получение
- node.create - создать новый узел
- node.update - обновить существующий узел
- node.delete - удалить узел
- node.index - получить список узлов
Те же самые методы CRUD существуют для других объектов Drupal (файлы, комментарии, пользователи, taxonomy_terms), только замените «узел» на имя объекта.Например: «file.create» - создать файл, «file.index» - получить список файлов и т. Д.
Если вам нужно авторизоваться, сначала нужно вызвать «user.login», а есливызов выполнен успешно, сохраните значения sessid и session_name возвращаемой структуры метода.
Затем отправьте значение
session_name+"="+sessid
как cookie во всех последующих вызовах для идентификации сеанса.Кроме того, вы должны включить флажок «аутентификация сеанса» в конфигурации конечной точки сервиса Drupal.Без этого все запросы к конечной точке будут выполняться как анонимный пользователь.
Чтобы создать свой собственный сервис xmlrpc, вам нужно определить hook_xmlrpc в вашем модуле и предоставить набор методов.