API-интерфейс SugarmCRM REST всегда возвращает значение «ноль» - PullRequest
2 голосов
/ 21 декабря 2010

Я пытаюсь протестировать API REST SugarCRM, работающий с последней версией CE (6.0.1). Кажется, что когда я делаю запрос, API возвращает «ноль», ничего больше. Если я опущу параметры, то API возвращает описание API (что в документации сказано, что должно).

Я пытаюсь выполнить вход в систему, передав в качестве параметра метод (login), input_type и response_type (json) и rest_data (параметры в кодировке JSON). Следующий код выполняет запрос:

 $api_target = "http://example.com/sugarcrm/service/v2/rest.php";

 $parameters = json_encode(array(
    "user_auth" => array(
        "user_name" => "admin",
        "password" => md5("adminpassword"),
    ),
    "application_name" => "Test",
    "name_value_list" => array(),
 ));
 $postData = http_build_query(array(
    "method" => "login",
    "input_type" => "json",
    "response_type" => "json",
    "rest_data" => $parameters
 ));
 echo $parameters . "\n";
 echo $postData . "\n";

 echo file_get_contents($api_target, false,
    stream_context_create(array(
        "http" => array(
            "method" => "POST",
            "header" => "Content-Type: application/x-www-form-urlencoded\r\n",
            "content" => $postData
        )
    ))) . "\n";

Я пробовал разные варианты параметров и использовал имя пользователя вместо user_name, и все они дают один и тот же результат, просто ответ "null" и все.

1 Ответ

0 голосов
/ 21 декабря 2010

Попробуйте установить input_type и response_type на JSON (прописные). Если это не работает, перейдите к установке Sugar, отредактируйте запись config.php в logger => level и сделайте ее debug вместо fatal и посмотрите, нет ли в ней ошибок.

...