Optimized by Alessandro Pedrotti
[email protected]
Facebook SDK v5 for PHP
The Facebook SDK for PHP is a library with powerful features that enable PHP developers to easily
integrate Facebook login and make requests to the Graph API. It also plays well with the Facebook
SDK for JavaScript to give the front-end user the best possible user experience. But it doesn't end
there, the Facebook SDK for PHP makes it easy to upload photos and videos and send batch requests
to the Graph API among other things. And SDK for PHP has many extensibility points giving PHP
developers full control of how the SDK for PHP interacts with their specific hosting environment and
web framework.
Whether you're developing a website with Facebook login, creating a Facebook Canvas app or Page
tab, the Facebook SDK for PHP does all the heavy lifting for you making it as easy as possible to
deeply integrate into the Facebook platform.
For installation & implementation instructions, look through the Getting Started with the Facebook SDK
for PHP guide, and then check out some of the examples below.
Examples
The following examples demonstrate how you would accomplish common tasks with the Facebook
SDK for PHP.
Authentication & Signed Requests
Facebook Login (OAuth 2.0)
Obtaining an access token from the SDK for JavaScript
Obtaining an access token within a Facebook Canvas context
Obtaining an access token within a Facebook Page tab context
User profile
Retrieve a user's profile
Post a link to a user's feed
File Uploads
Upload a photo to a user's profile
Upload a video to a user's profile
Batch Requests
Sending requests in a batch
Uploading files in a batch
Pagination
Basic pagination
API Reference
For a full list of classes, see the API reference page.
PHP SDK on Github
The Facebook SDK for PHP is an open source project hosted on Github. You can get the latest version
of the SDK or contribute to it via Github:
PHP SDK on Github
Primeros pasos con el SDK de Facebook para PHP
Ya sea que desarrolles un sitio web con el inicio de sesión con Facebook o que crees una aplicación
de página principal de Facebook o una pestaña de la página, el SDK de Facebook para PHP hace todo
el trabajo pesado por ti y facilita al máximo la integración en la plataforma de Facebook.
Carga automática y espacios de nombres
El SDK de Facebook para PHP versión 5 está codificado conforme a PSR-4. Esto significa que se basa
en gran medida en los espacios de nombres, de manera que los archivos de clase se cargan
automáticamente.
Te recomendamos que te familiarices con los conceptos de espacio de nombres y carga automática si
aún no los conoces.
Requisitos del sistema
PHP 5.4 o superior
Extensión mbstring
Composer(opcional)
Instalar el SDK de Facebook para PHP
Hay dos métodos para instalar el SDK de Facebook para PHP. El método de instalación recomendado
es mediante Composer. Si no puedes usar Composer para tu proyecto, puedes instalar el SDK de
forma manual descargando los archivos de origen e incluyendo el cargador automático.
Instalar con Composer (recomendado)
Composer es el método recomendado para instalar el SDK de Facebook para PHP. Solo tienes que
agregar la entrada "require" al archivo composer.json en la raíz del proyecto.
{
"require" : {
"facebook/php-sdk-v4" : "~5.0"
}
}
El SDK de Facebook se empezó a adherir a SemVer con la versión 5. Antes de la versión 5, el SDK no
seguía SemVer.
A continuación, ejecuta composer install en la línea de comandos y Composer descargará la
versión más reciente del SDK y lo colocará en el directorio /vendor/.
Asegúrate de incluir el cargador automático de Composer en la parte superior del script.
require_once __DIR__ . '/vendor/autoload.php';
Instalar de forma manual (solo si es indispensable)
En primer lugar, descarga el código fuente y descomprímelo en la ubicación que quieras del proyecto.
Descargar el SDK para PHP 5.0
A continuación, incluye el cargador automático proporcionado en el SDK en la parte superior del script.
require_once __DIR__ . '/path/to/facebook-php-sdk-
v4/src/Facebook/autoload.php';
El cargador automático debería poder detectar automáticamente la ubicación adecuada del código
fuente.
Todo en orden
El código fuente incluye una cantidad inmensa de archivos que no son necesarios en un entorno de
producción. Si quieres eliminar todo excepto los archivos principales, sigue este ejemplo.
En este ejemplo daremos por sentado que la raíz de tu sitio web es /var/html.
Después de descargar el código fuente mediante el botón anterior, extrae los archivos en un directorio
temporal.
Mueve la carpeta src/Facebook a la raíz de instalación del sitio web o donde sueles colocar el código
de terceros. En este ejemplo cambiaremos el nombre del directorio Facebook a facebook-sdk-v5.
La ruta de los archivos principales del SDK ahora debería estar en /var/html/facebook-sdk-v5;
dentro de este directorio estará también el archivo autoload.php.
Suponiendo que tenemos un script denominado index.php en la raíz del proyecto web, debemos
incluir el cargador automático en la parte superior del script.
require_once __DIR__ . '/facebook-sdk-v5/autoload.php';
Si el cargador automático tiene problemas para detectar la ruta de los archivos de origen, podemos
definir la ubicación del código fuente antes de la instrucción require_once.
define('FACEBOOK_SDK_V4_SRC_DIR', __DIR__ . '/facebook-sdk-v5/');
require_once __DIR__ . '/facebook-sdk-v5/autoload.php';
Configuración
Se supone que ya creaste y configuraste una aplicación de Facebook (puedes obtenerla en el panel de
aplicaciones).
Para poder enviar solicitudes a la API Graph, hay que cargar la configuración de la aplicación en el
servicio Facebook\Facebook.
$fb = new Facebook\Facebook([
'app_id' => '{app-id}',
'app_secret' => '{app-secret}',
'default_graph_version' => 'v2.5',
]);
Deberás reemplazar los elementos {app-id} y {app-secret} con la clave secreta y el identificador
de la aplicación de Facebook, que puedes obtener en la pestaña de configuración de aplicaciones.
Es importante que especifiques un valor para default_graph_version, ya que te otorgará más
control sobre qué versión de Graph quieres usar. Si no especificas un valor
para default_graph_version, el SDK para PHP elegirá uno automáticamente y este podría no ser
compatible con tu aplicación.
El servicio de Facebook\Facebook vincula todos los componentes del SDK para PHP. Consulta la
referencia completa del servicio de Facebook\Facebook.
Autenticación y autorización
El SDK se puede usar para que un usuario de Facebook pueda iniciar sesión en tu sitio web mediante
el inicio de sesión con Facebook, basado en OAuth 2.0.
La mayoría de las solicitudes enviadas a la API Graph requieren un token de acceso. Podemos
obtener tokens de acceso para el usuario con el SDK mediante las clases del asistente.
Obtener un token de acceso del redireccionamiento
En la mayoría de los sitios web, usarás el
asistente Facebook\Helpers\FacebookRedirectLoginHelper para generar una URL de inicio de
sesión con el método getLoginUrl(). El enlace redirigirá al usuario a una pantalla de autorización de
la aplicación y, una vez aprobada la autorización, se redirigirá a la URL especificada. En la página de
devolución de llamada de redireccionamiento, podemos obtener el token de acceso como una
entidad AccessToken.
En este ejemplo daremos por hecho que login.php presentará el enlace de inicio de sesión y que se
redirigirá al usuario a login-callback.php, donde obtendremos el token de acceso.
# login.php
$fb = new Facebook\Facebook([/* . . . */]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email', 'user_likes']; // optional
$loginUrl = $helper->getLoginUrl('http://{your-website}/login-callback.php',
$permissions);
echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
El asistente FacebookRedirectLoginHelper utiliza sesiones para almacenar un valor CSRF.
Comprueba que tienes activadas las sesiones antes de invocar el método getLoginUrl(). En la
mayoría de los marcos web se activan automáticamente. Si no usas uno, puedes
agregar session_start(); a la parte superior de los scripts login.php y login-callback.php.
# login-callback.php
$fb = new Facebook\Facebook([/* . . . */]);
$helper = $fb->getRedirectLoginHelper();
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if (isset($accessToken)) {
// Logged in!
$_SESSION['facebook_access_token'] = (string) $accessToken;
// Now you can redirect to another page and use the
// access token from $_SESSION['facebook_access_token']
}
Obtener un token de acceso de un contexto de página principal de la aplicación de
Facebook
Si tu aplicación aparece en la página principal de Facebook, usa el
método getAccessToken() en Facebook\Helpers\FacebookCanvasHelper para obtener una
entidad AccessToken para el usuario.
El asistente FacebookCanvasHelper detectará una solicitud firmada e intentará obtener un token de
acceso usando los datos de carga de dicha solicitud. La solicitud firmada solo contendrá los datos
necesarios para obtener un token de acceso si el usuario ya autorizó tu aplicación anteriormente. Si
aún no la autorizó, el método getAccessToken() devolverá el valor null y deberás iniciar la sesión
del usuario con el método de redireccionamiento o con el SDK para JavaScript. A continuación,
tendrás que us
Comentarios de: Facebook SDK v5 para PHP (0)
No hay comentarios