Estoy trabajando con PHP orientado a objetos y la API de Picasa para que los usuarios de mi web pueden ver y subir fotos a Picasa. He conseguido visualizar las fotos pero mi problema surge cuando quiero crear, por ejemplo, un nuevo álbum desde mi web en Picasa. Sigo los pasos que la web de código de Google me marca, consigo el sessionToken necesario para crear contenido en Picasa pero no logro enviar el XML que genero mediante POST. Mi código es el siguiente:
Código PHP:
Al hacer el var_dump me muestra:Ver original
$url = "http://picasaweb.google.com/data/feed/api/user/ diego.lopez.mesi"; $header = Array("Content-Type: application/atom+xml", "Authorization: AuthSub token='".$_POST['sessionToken']."'", "User-Agent: Java/1.5.0_06", "Host: www.google.com", "Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2", "Connection: keep-alive"); $xml = '<?xml version="1.0" encoding="utf-8"?> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:media="http:// search.yahoo.com/mrss/" xmlns:gphoto="http://schemas.google.com/photos/ 2007"> <title type="text">'.$_POST['nombre'].'</title> <summary type="text">Album de prueba</summary> <gphoto:location>Galicia</gphoto:location> <gphoto:access>public</gphoto:access> <gphoto:timestamp>'.time().'</gphoto:timestamp> <media:group> <media:keywords>siguetuliga</media:keywords> </media:group> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/photos/2007#album"></category> </entry>'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, TRUE); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); var_dump(curl_exec($ch)); curl_close($ch);
Código HTML:
Ver original
Alguien sabe qué es lo que estoy haciendo tan mal como para llevar
cuatro días con esto? :) Muchas gracias