Services 2.2
1) Установлены Services: включены модули Services, XMLRPC Server, Key Authentication и User Service.
2) В настройке прав доступа для Анонимов разрешена 'get own user data' (в разрешениях для модуля user_services).
3) По адресу Administer->Site Building->Services->Settings из выпадающего списка выбрано 'Key authentication'. И отмечено 'Use SessID'. 'Use Keys' отключены.
Код:
<?php
require_once 'includes/common.inc';
require_once 'includes/xmlrpc.inc';
$xmlrpc_url = 'http://mysite.ru/services/xmlrpc';
$anon_session = xmlrpc($xmlrpc_url, 'system.connect');
$user = 'services';
$password = 'x';
$authenticated_session = xmlrpc($xmlrpc_url, 'user.login', $anon_session['sessid'], $user, $password);
$xmlrpc_result = xmlrpc($xmlrpc_url, 'user.get', $authenticated_session['sessid'], 0);
if ($xmlrpc_result === FALSE) {
print '
' . print_r(xmlrpc_error(), TRUE) . '';
}
else {
print '' . print_r($xmlrpc_result, TRUE) . '';
}
?>
mysite.ru - измененный адрес моего сайта
Все эти настройки и сам код взяты из примера: http://drupal.org/node/762998
Код размещен в отдельном файле в корне сайта. При запуске из браузера выводит ошибку:
stdClass Object
(
[is_error] => 1
[geshifilter-code] => 1 [message] => Invalid sessid. )
Как правильно установить соединение с сервером xmlrpc модуля Services?[/geshifilter-code]