0

Mandrill API への cURL 呼び出しをフォーマットする方法がよくわかりません...

$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' => 'no-reply@blanketid.com',
                        'from_name' => 'blanketID Service',
                        'to' => array(
                            'email' => 'devinmightbe@gmail.com',
                            '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;

これがすべて正しくセットアップされているかどうかは本当にわかりません...

4

1 に答える 1

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.
于 2012-08-28T22:19:57.863 に答える