SugarCRM:REST调用出现“无效的会话ID”错误

时间:2010-11-02 03:03:59

标签: api rest sugarcrm

我正在使用SugarCRM CE 6.0.3。

当我进行像get_entry_list()这样的REST API调用时,我总是会收到此错误:

{'description': 'The session ID is invalid',
 'name': 'Invalid Session ID',
 'number': 11}

我非常确定我已登录并使用正确的会话ID。实际上,当我可以成功调用get_user_id()并检索我自己的用户ID时。

谷歌搜索没有产生任何有用的结果,其他人遇到过这个问题?

2 个答案:

答案 0 :(得分:3)

我发现了这个问题,这只是关于SugarCRM部分文档不好的问题。参考命名在本文档中都是错误的:

http://developers.sugarcrm.com/docs/OS/6.0/-docs-Developer_Guides-Sugar_Developer_Guide_6.0-Chapter%202%20Application%20Framework.html#9000259

此问题的简单修复:在SugarCRM中进行REST调用时不要使用命名参数。即在API调用中使用'rest_data'的位置参数(JSON数组)。

答案 1 :(得分:2)

我在set_entry api调用中遇到了这个问题。对我来说,问题是我提交给调用的值之一包含api无法处理的特殊字符。我的解决方案是urlencode值,Sugar在它们的末尾对其进行解码。见下文:

$name = "abc's ; 10/10/2013";
$values = array(
                "name"=>$name
          );
$sugar->set_entry("Accounts", $values);

以上引发了Invalid session ID错误。以下是有效的代码:

$name = urlencode("abc's ; 10/10/2013");
$values = array(
                "name"=>$name
          );
$sugar->set_entry("Accounts", $values);