2012-08-28 43 views
0

我不太了解怎么我的卷曲呼叫格式的山魈API ...发送带有卷曲JSON对象到特定的URL

$specific_api = "/messages/send.json"; 
$url = "https://mandrillapp.com/api/1.0/" . specific_api . "?"; 

$param_array = array(
        'key' => $apikey, 
        'template_name' => 'mytemplate', 
        'template_content' => array(
          'name' => 'main', 
          'content' => 'This is HAPPENING RIGHT NOW!' 
         ), 
        'message' => array(
         'subject' => 'blanketID Service: Pet Found', 
         'from_email' => '[email protected]', 
         'from_name' => 'blanketID Service', 
         'to' => array(
          'email' => '[email protected]', 
          'name' => 'Devin Columbus' 
         ) 
        ) 
       ); 

$encoded = json_encode($param_array); 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $encoded); 
$data = curl_exec($ch); 
curl_close($ch); 
$arr = json_decode($data, true); 

echo $data; 

我真的甚至不相信,我已经得到这一切正确的设置...

+0

我在想''''''部分没有意思.. – dcolumbus

+1

是的,你可以离开'?'超出网址。您正在使用POST请求而不是GET。 – trickyzter

回答

0

我没有信心,但有读取文件在php.net关于CURLOPT_POSTFIELDS,我相信你传递的格式不被接受。

The full data to post in a HTTP "POST" operation. To post a file, prepend a filename with @ and use the full path. The filetype can be explicitly specified by following the filename with the type in the format ';type=mimetype'. This parameter can either be passed as a urlencoded string like 'para1=val1&para2=val2&...' or as an array with the field name as key and field data as value. If value is an array, the Content-Type header will be set to multipart/form-data. As of PHP 5.2.0, value must be an array if files are passed to this option with the @ prefix.