DesarrolloLibre

Desarrollo Web, Android, juegos y mucho más

Categorias
08-09-2016

Como bien sabrás, Facebook cuenta con una SDK en PHP para poder realizar distintas operaciones en una cuenta en Facebook como publicar un post, obtener datos de una cuenta. etc; esta API por defecto está creada para emplearla en PHP puro (entiéndase sin framework u otra herramienta de desarrollo); por suerte podemos realizar algunas configuraciones en un proyecto CodeIgniter para poder emplearla dentro de nuestros controladores, helper o cualquier otro.

En esta entrada explicaremos cómo integrar la SDK oficial de Facebook para PHP en CodeIgniter sin morir en el intento; recordando un poco, esta SDK es la misma que se ha empleado en anteriores ejemplos:

Ahora veamos los pasos para integrar la SDK en CodeIgniter:

Copiar la SDK de Facebook a la carpeta library

En general la integración es bastante sencilla; lo primero que debemos hacer es copiar el directorio completo de la SDK de Facebook a la carpeta library de nuestro proyecto:

facebook sdk

Crear nuestra librería custom

Ahora creamos un archivo dentro de la carpeta library que llamaremos FacebookSDK o como desees pero intenta que el nombre de la clase no se repita en otra instancia; el archivo tendrá el siguiente contenido:

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

date_default_timezone_set('UTC');
require 'Facebook/Facebook.php';
require_once dirname(__FILE__) . '/Facebook/Facebook.php';
define('FACEBOOK_SDK_V4_SRC_DIR', __DIR__ . '/Facebook/');
require_once __DIR__ . '/Facebook/autoload.php';

class FacebookSDK{

    function __construct() {
    }

Cómo ves, en general hacemos todos los include de siempre que son necesarios para trabajar con la API de Facebook; ahora creamos nuestro controlador e incluimos nuestra librería:

$this->load->library('FacebookSDK');

O el nombre que le pongas.

Para facilitar el proceso, colocamos como variables globales dentro de nuestro controlador la app_id y el app_secret; y esto es todo lo que necesitamos para integrar la SDK de Facebook en CodeIgniter; ahora si creamos el siguiente controlador en CodeIgniter:


defined('BASEPATH') OR exit('No direct script access allowed');

class Facebookpost extends CI_Controller {

    var $app_id ='';
    var $app_secret = '';

    public function __construct() {

        parent::__construct();
        $this->load->database();
        $this->load->library('FacebookSDK');
    }

    public function index() {

        $fb = new Facebook\Facebook(array(
            'app_id' => $this->app_id,
            'app_secret' => $this->app_secret,
            'default_graph_version' => 'v2.4'
        ));

        try {
            $accessToken = 'token-que-no-vence';
            //$accessToken = $helper->getAccessToken();
            $linkData = [
                'link' => 'http://www.desarrollolibre.net/blog/tema/55/html/uso-basico-del-canvas',
                'message' => "otro test",
            ];
            var_dump($fb->post('/feed', $linkData, $accessToken));
        } catch (Facebook\Exceptions\FacebookResponseException $e) {
            // When Graph returns an error
            echo 'Graph returned an error: ' . $e->getMessage();
        } catch (Facebook\Exceptions\FacebookSDKException $e) {
            // When validation fails or other local issues
            echo 'Facebook SDK returned an error: ' . $e->getMessage();
        }
    }

}

Veremos que se publica nuestro posts en Facebook sin problemas; el código anterior ya ha sido tratado en las anteriores entradas señaladas a un inicio de esta; si tienes dudas, puedes ver los enlaces anteriores.


Publicidad

Give me for a beer!

Algunos recursos que te pueden interesar

TCPDF: clase Oper Source para generar PDF con PHP

TCPDF: clase Oper Source para generar PDF con PHP

API REST en CodeIgniter

API REST en CodeIgniter

Algunos artículos que te pueden interesar

¿Cómo obtener nuestro perfil con la Graph API de Facebook (PHP)?

¿Cómo obtener nuestro perfil con la Graph API de Facebook (PHP)?

Se explica cómo obtener el perfil del usuario autenticado mediante la Graph API de Facebook empleando la SDK de PHP.

Andrés Cruz 30-06-2016

¿Cómo crear una aplicación en la Graph API de Facebook?

¿Cómo crear una aplicación en la Graph API de Facebook?

La Graph API de FAcebook es la forma en la que se organiza esta red social Facebook y en esta entrada veremos cómo crear una aplicación en FaceBook que no es más que un grupo de configuraciones realizadas en la API.

Andrés Cruz 13-01-2016

Autenticación social con HybridAuth en redes sociales con PHP

Autenticación social con HybridAuth en redes sociales con PHP

Se explica cómo autenticar mediante las redes sociales a las aplicaciones creadas en PHP empleando HybridAuth como librería; además se explica como configurar las redes de Google+ y Twitter.

Andrés Cruz 14-04-2016