1

我正在使用 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 时。

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

4

2 回答 2

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 数组)。

于 2010-11-12T02:08:57.217 回答
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);
于 2013-12-18T00:19:33.813 回答