2011-07-21 14 views
0

連絡先リストに新しい電子メールの登録者を追加しようとしています。しかし、私は404エラーが発生しています。以下は私のコードです。誰でも助けることができますか?Constant Contact API、新しい連絡先を追加する

$userNamePassword = $Key . '%' . $UN . ':' . $PW ; 

$entry = '<entry xmlns="http://www.w3.org/2005/Atom"> 
<id>http://api.constantcontact.com/ws/customers/'.$UN.'/contacts/'.$SubID.'</id> 
     <title type="text">Contact: '.$email.'</title> 
     <updated>2008-04-25T19:29:06.096Z</updated> 
     <author></author> 
     <content type="application/vnd.ctct+xml"> 
     <Contact xmlns="http://ws.constantcontact.com/ns/1.0/"  id="http://api.constantcontact.com/ws/customers/'.$UN.'/contacts/'.$SubID.'"> 
     <EmailAddress>'.$email.'</EmailAddress> 
     <OptInSource>ACTION_BY_CUSTOMER</OptInSource> 
     <ContactLists> 
     <ContactList id="http://api.constantcontact.com/ws/customers/'.$UN.'/lists/0"> 
     </ContactLists> 
     </Contact> 
     </content> 
     </entry>'; 



     $tmpfile = tmpfile(); 
     fwrite($tmpfile, $entry); 
     fseek($tmpfile, 0); 

     // Initialize the curl session 
     $request ="https://api.constantcontact.com/ws/customers/".$UN."/contacts/".$SubID; 

     $session = curl_init($request); 

     // Set up Digest authentication. Put your API key, and CTCT username/pwd here 
     $userNamePassword = $Key . '%' . $UN . ':' . $PW ; 

     curl_setopt($session, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
     curl_setopt($session, CURLOPT_USERPWD, $userNamePassword); 
     curl_setopt($session, CURLOPT_INFILE, $tmpfile); 
     fclose($tmpfile); // Close temp file because it no longer needed 

     curl_setopt($session, CURLOPT_PUT, 1); 
     curl_setopt($session, CURLOPT_INFILESIZE, strlen($entry)); 
     curl_setopt($session, CURLOPT_HTTPHEADER, Array("Content-Type:application/atom+xml")); 
     curl_setopt($session, CURLOPT_HEADER, false); // Do not return headers 

     curl_setopt($session, CURLOPT_RETURNTRANSFER, 0); 
     curl_setopt($session, CURLOPT_SSL_VERIFYPEER, 0); 
     $response = curl_exec($session); 
     $httpcode = curl_getinfo($session, CURLINFO_HTTP_CODE); 
     curl_close($session); 

     echo("httpcode error is ".$httpcode); 
     if ($httpcode > 199 && $httpcode < 300){ 
      return 'Success'; 
     }else{ 
      return 'False'; 
     } 

答えて

0

[OK]を発行して問題を解決できました。すなわちは、以下のコード

curl_setopt($session, CURLOPT_POST, 1); 
curl_setopt($session, CURLOPT_POSTFIELDS, $entry); 
+0

こんにちはで次のコード

curl_setopt($session, CURLOPT_PUT, 1); 

を交換し、私はSUBIDを設定する方法を知りたいのですが?あなたはそれをどこで手に入れましたか、それをどのように作成しましたか? – gfivehost

+0

Constant Contact Accountから取得したSubID。 – MACMAN

関連する問題