我正在尝试测试运行最新版本 CE (6.0.1) 的 SugarCRM REST API。似乎每当我进行查询时,API 都会返回“null”,仅此而已。如果我省略了参数,那么 API 会返回 API 描述(文档说应该这样)。
我正在尝试执行登录,将方法(登录)、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”就是这样。