Hi alle,
wenn ich via REST API Adressbucheinträge hinzufüge, ist die Zuordnung (privat/Arbeit) des erzeugten Eintrages komisch (m.E. vertauscht).
$post = [
‘fullName’ => “Tester”,
‘name/personal’ => “Vorname”,
“name/surname” => “Nachname”,
“emails/home” => "test@home.de",
“emails/work” => "test@work.de",
"addresses/home/locality" => "Ort privat",
"addresses/home/postcode" => "PLZ privat",
"addresses/home/street" => "Straße privat",
"addresses/home/country" => "Land privat",
"phones/tel_home" => "11111",
"organizations/org/name" => "Organisation",
"addresses/work/locality" => "Ort Arbeit",
"addresses/work/postcode" => "PLZ Arbeit",
"addresses/work/street" => "Straße Arbeit",
"addresses/work/country" => "Land Arbeit"
];
$ch = curl_init(‘https://egw.xxx.de/egroupware/groupdav.php/intech/addressbook/’);
curl_setopt($ch, CURLOPT_USERPWD, “xx:xx”);
curl_setopt($ch, CURLOPT_HTTPHEADER, Array(“Content-Type: application/json”, “Accept: application/pretty+json”));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, ‘POST’);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post));
curl_setopt($ch, CURLOPT_HEADERFUNCTION,
function($ch, $header) use (&$headers)
{
$len = strlen($header);
$header = explode(’:’, $header, 2);
if (count($header) < 2) // ignore invalid headers
return $len;
$headers[strtolower(trim($header[0]))][] = trim($header[1]);
return $len;
}
); //Funktion um über die einzelnen Zeilen des Headers zu iterieren und ein Array zu erzeugen
$response = curl_exec($ch); // execute!
Führt zu:
und
Die Zuordnung zu Privat und geschäftlich (“Organisation”) müsste doch genau andersherum sein.
Oder?
Gruß
Hansa