<?php
/**
datos para crear con tu cuenta de facebook un APP:
Display Name: NOMBREAPLIACION
Namespace: ESPACIODENOMBRE
Correo electrónico de contacto: XXX
App Domains: vacio
Categoría: otra
Selecciona como tu aplicación se intrega con Facebook
Aplicación en Facebook
Canvas Page: http://apps.facebook.com/ESPACIODENOMBRE
Canvas URL: http://urldetuphp/carpeta/
URL segura de la página principal de la aplicación: https://urldetuphp/carpeta/
*/
// URL de la aplicación
$urlApp = "http://apps.facebook.comESPACIODENOMBRE/";
// ID y Secret ID de la aplicación
$appId = "XXXXXXXXXXX";
$secret = "XXXXXXXXXXXXXXXXXXXXX";
//Llamada al Facebook SDK
include_once "facebook.php";
// Instanciamos el objeto Facebook
$facebook = new Facebook(array('appId' => $appId,
'secret' => $secret,
'cookie' => true));
// Obtenemos una session
$user = $facebook->getUser();
if (!$user){
// Si el usuario no está autentificado crea una URL para hacerlo.
// Se usa 'scope' para pedir permisos separados por coma.
// Se usa 'redirect_uri' para redireccionar a esa URL despues de la acción del usuario
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'read_stream,publish_stream,photo_upload,user_photos,user_photo_video_tags',
'redirect_uri' => $urlApp
)
);
echo "<script type=\"text/javascript\">top.location.href = '$loginUrl';</script>";
} else {
//Le indicamos a facebook que vamos a subir un archivo a su plataforma.
$facebook->setFileUploadSupport(true);
//Indicamos que vamos a entrar en la seccion albums del usuario
$albums = $facebook->api('/me/albums');
//Navegamos dentro de los albumes para encontrar alguno con nombre 'profile'
$album_uid = "";
foreach ($albums['data'] as $album) {
if($album['type'] == 'wall'){//si encontramos algun album con nombre "muro", tomamos su identificador para subir nuestra imagen en este album
$album_uid = $album['id'];
//echo "wall id ".$album_uid;
}
}
if($album_uid == ""){
//echo "no existe el albun ";
/***********************************************/
//SI NO EXISTE EL ALBUN CREAMOS UNO
//Componemos nuestro array con los datos de nuestro album nombre y descripcion.
$album_details = array(
'message'=> 'mi descripcion ',
'name'=> 'albun q yo quiero'
);
//Indicamos a facebook que vamos a crear un album
$create_album = $facebook->api('/me/albums', 'post', $album_details);
//Tomamos el identificador del album creado.
$album_uid = $create_album['id'];
/***********************************************/
}
//Componemos el array que tendra los datos de nuestra imagen mensaje, nombre, path donde se encuentra la imagen album donde lo vamos a depositar.
$photo_details = array(
'message'=> 'Photo message'
);
$file = 'fotoesperada.jpg';
$photo_details['image'] = '@' . realpath($file);
//Luego de esto enviamos a $facebook los datos de nuestra imagen
$upload_photo = $facebook->api('/'.$album_uid.'/photos', 'post', $photo_details);
echo '<a href="http://www.facebook.com/photo.php?fbid='.$upload_photo['id'].'" target="_blank">Mira la foto aqui.</a>';
// Hasta aquí el usuario tendría que estar autentificado con la aplicación.
// $yo = $facebook->api('/me');
// print_r($yo);
}
?>