Какие-либо особенности, о которых я должен знать в реализациях Drupal XML-RPC и BlogAPI?
-
02-07-2019 - |
Вопрос
Я начинаю работу над проектом, который позволит получить доступ к Drupal
сайт для создания (и, в конечном счете, редактирования) узлов на сайте с помощью XML-RPC
объект и BlogAPI
модуль поставляется вместе с Drupal
.Это включает в себя загрузку файлов, поскольку проект призван позволить людям массово загружать фотографии в Drupal
сайт с минимумом шума.
Что я хотел бы знать, так это есть ли какие-либо предостережения, на которые мне следует обратить внимание.У кого-нибудь был опыт таргетинга Drupal's XML-RPC implementation
, или реализация любого из blogging APIs
поддерживаемый его BlogAPI module
?Какой совет вы бы дали другим, идущим по тому же пути?
Решение
В то время как средство XML-RPC довольно стабильно и работает хорошо, модуль BlogAPI имеет различные проблемы, особенно с discovery, которые делают болезненным его использование для чего угодно, кроме обычных блогов.В настоящее время идентификаторы blogIds не используются ни в сгенерированном документе Really Simple Discovery (из которых существует только один для сайта), ни в API ведения блогов, реализованных в BlogAPI.
Какой блог получит публикацию, определяется учетными данными пользователя, что работает нормально, пока для доступа через BlogAPI доступен только один тип узла, но когда вы пытаетесь получить доступ к двум или более типам узлов через модуль, все, как правило, разваливается.
Глядя на состояние BlogAPI в РАЗДЕЛЕ Drupal HEAD на CVS, мы можем не увидеть решения этой проблемы самое раннее до 8.x.Тем не менее, есть несколько человек, работающих над переработкой BlogAPI в качестве стороннего модуля, возможно, для последующего объединения с Drupal core.Если вы хотите использовать хорошо известный API для ведения блогов, возможно, было бы лучше поучаствовать в их усилиях.Однако, если это что-то другое, средство XML-RPC, предоставляемое через hook_xmlrpc(), отлично справляется с задачей, позволяя вам предоставлять ваши собственные интерфейсы XML-RPC.