我想将SuiteCRM升级到最新一代的SuiteCRM版本。由于我在现有的SuiteCRM上使用REST API4.1,并且知道必须为最新一代的SuiteCRM版本使用API v8,因此我在运行于https和PHP 7.1版本的演示服务器上安装了带有伪数据的SuiteCRM 7.11.3。 .17。
此后,通过导航到“管理员”-“ OAuth2客户端和令牌”-“新客户端凭据客户端”,为“客户端凭据”授予类型生成了“ client_id”和“ client_secret”。
现在,我正在检查用于使用客户端凭据进行身份验证的CRM API,并尝试使用下面的代码获取会话,但没有得到任何数组或会话,也没有任何错误。
$ch = curl_init();
$header = array(
'Content-type: application/vnd.api+json',
'Accept: application/vnd.api+json',
);
$postStr = json_encode(array(
'grant_type' => 'client_credentials',
'client_id' => 'xxxxxxxxxx',
'client_secret' => 'xxxxxxxxxx'
));
$url = 'https://url/Api/access_token';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $postStr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$output = curl_exec($ch);
$tab = json_decode($output);
print_r($tab);
curl_close($ch);
我曾尝试通过在其中一篇文章中建议的在$ postStr中添加“'scope'=>”来实现,但未返回任何内容。
有人可以对此进行指导吗?
答案 0 :(得分:0)
确保首先生成私钥和公钥,否则将无法正常工作。 https://docs.suitecrm.com/developer/api/version-8/json-api/#_before_you_start_calling_endpoints
您的发布变量也应该放在正文中。