curl和PHP的问题

curl和PHP的问题,php,curl,sendwithus,Php,Curl,Sendwithus,我正在尝试使用API。这是文档中提供给我的示例: curl \ -X POST \ -u YOUR_API_KEY: \ -d '{ "email_id": "YOUR_EMAIL_ID", "recipient": { "address": "some.one@email.com" } }' https://api.sendwithus.com/api/v1/send 这是我的尝试: $url = 'https://api.sendwithus.com/api/v1/send';

我正在尝试使用API。这是文档中提供给我的示例:

curl \
-X POST \
-u YOUR_API_KEY: \
-d '{
"email_id": "YOUR_EMAIL_ID",
"recipient": {
     "address": "some.one@email.com"
 }
}'
https://api.sendwithus.com/api/v1/send
这是我的尝试:

$url = 'https://api.sendwithus.com/api/v1/send';
$user = 'my_api_key';

$params = array(
   'email_id' => 'my_email_id',
   'recipient' => array(
        'address' => 'my_email_address'
    )
);


$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERPWD, $user. ':' . '');
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$result = curl_exec($ch);
curl_close ($ch);
当我var_dump$result时,我得到一个空字符串


你知道我做错了什么吗?

将$params数组更改为PHP Json_编码数组,如下所示:

$params=json_encode(您可以使用数组)

这里还有官方的sendwithusapi在PHP中的实现代码


示例使用json,而您的版本不使用json。您发送的是正常的
foo=bar
键/值对,就好像它是正常的表单提交一样。在POSTFIELDS中需要json_encode(),我刚刚尝试过,但仍然得到了相同的结果。下面是我使用的修改代码:$params=json\u encode(数组('email\u id'=>'my\u api\u key','recipient'=>数组('address'=>'my\u email\u address'));我会再给他们的客户一次机会。我试图避免它,因为他们提供的composer.json似乎需要一些爱,而这对我来说是另一条学习曲线。