Просто не могу интегрировать DRUPAL и Android - PullRequest
0 голосов
/ 15 сентября 2011

Я использую Drupal для создания веб-сервиса для моего приложения для Android.У меня есть базовые знания о Drupal, такие как включение модулей, тем, их настройка;Но этот модуль " Services " - тот, который я не могу получить в голову.Я скачал сервисы 6.2 и включил сервисный модуль и сервисный модуль узла

Теперь, когда я перехожу к созданию сайта -> сервисы -> node.get, я получаю форму, в которой я могу ввести идентификатор узла и поля, и этоработает нормально.

Но я не знаю, как получить ответ от Android.Я еще не включил сервер xmlRPC.Я разрешил анонимному пользователю посещать страницу служб, чтобы мне не нужно было получать аутентификацию или идентификатор сеанса.

По сути, я просто хочу увидеть ответ в моем журнале cat в eclipse sdk только для узла 1и я собираюсь идти с этого момента.

Ответы [ 4 ]

2 голосов
/ 17 февраля 2013

Сервисный модуль позволяет использовать удаленные протоколы (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 в вашем модуле и предоставить набор методов.

0 голосов
/ 02 февраля 2014

На вопрос дан ответ, но я добавляю то, что я считаю отличным видеоуроком для интеграции сайта Drupal с приложением Android.

http://www.youtube.com/watch?v=ezk_21sfEQM

0 голосов
/ 15 сентября 2011

См. Документацию по сервисам по http://drupal.org/node/783722 и http://drupal.org/node/790416, где приведены некоторые примеры для начала работы.Я считаю, что они дают хорошее представление о том, как установить и использовать модуль Services.

0 голосов
/ 15 сентября 2011

Я не уверен, что это то, что вы ищете, но вы можете использовать HttpClient для доступа к вашему сервису. См. этот ответ для получения дополнительной помощи. Поскольку я не эксперт по Drupal, я не уверен, нужно ли вам включать или отключать xmlRPC, так как вы включили эти «Сервисные» модули. Проведя небольшое исследование ( здесь ), я обнаружил некоторую полезную информацию, которая в основном говорит о том, что нужно включить xmlRPC в Drupal и импортировать XML-RPC-клиент в приложение Android, чтобы начать его использовать.

...