Я пытаюсь опубликовать простую запись в блоге на drupal-сайте с xml-rpc.Для этого я использую библиотеку IXR_Library.
Вот мой пример кода с использованием metaWeblog.newPost:
$url = 'http://drupalpage.de/xmlrpc.php';
$user = 'drupaluser';
$pass = 'drupalpass';
$post = array(
'title' => 'New Title'
'description' => 'Some content…'
);
$IXR = new IXR_Client($url);
$status = $IXR->query('metaWeblog.newPost',
'1',
$user,
$pass,
$post,
true
);
Когда я вызываю этот скрипт, я получаю следующий результат от drupal:
[params] => Array
(
[0] => Array
(
[faultCode] => 1
[faultString] => Entweder versuchten Sie einen fremden Blog zu editieren oder Sie haben keine Berechtigung Ihren eigenen Blog zu editieren.
)
)
Я не знаю, почему я получаю это «уведомление о разрешении» от системы drupal.Я могу войти в систему с точным значением в переменных $ user / $ pass.
Еще немного информации: Когда я вызываю 'system.listMethods', я получаю следующее возвращение:
[0] => Array
(
[0] => system.multicall
[1] => system.methodSignature
[2] => system.getCapabilities
[3] => system.listMethods
[4] => system.methodHelp
[5] => blogger.getUsersBlogs
[6] => blogger.getUserInfo
[7] => blogger.newPost
[8] => blogger.editPost
[9] => blogger.getPost
[10] => blogger.deletePost
[11] => blogger.getRecentPosts
[12] => metaWeblog.newPost
[13] => metaWeblog.editPost
[14] => metaWeblog.getPost
[15] => metaWeblog.newMediaObject
[16] => metaWeblog.getCategories
[17] => metaWeblog.getRecentPosts
[18] => mt.getRecentPostTitles
[19] => mt.getCategoryList
[20] => mt.getPostCategories
[21] => mt.setPostCategories
[22] => mt.supportedMethods
[23] => mt.supportedTextFilters
[24] => mt.getTrackbackPings
[25] => mt.publishPost
)
Когда я вызываю 'metaWeblog.getCategories', я получаю правильный массив возврата с категориями из системы drupal.
Я пробовал множество других вариантов, чтобы решить мою проблему.Но когда я звоню «blogger.getUsersBlogs» или «blogger.getUserInfo», я получаю такое же уведомление о разрешении.
Кто-нибудь знает, что я делаю неправильно?