viernes, 20 de septiembre de 2013

Autolike para facebook con PHP

Autolike para facebook con PHP
Cuando pensé en construir algo que hiciese autolikes busqué por google y únicamente me encontré códigos de pago y virus enmascaradas en aplicaciones que debía instalar en el ordenador.

Este es un ejemplo de como funciona:

Para realizar este ejercicio debes tener unos conocimientos mínimos de programación y un hosting.

Comenzamos:

Lo primero que tienes que hacer es crear una aplicación en facebook, eso lo haces en este enlace https://developers.facebook.com/apps

Le damos un nombre a la aplicación y una url por si esta fuese a interactuar con usuarios.
App Facebook
Pasamos el Captcha y llegamos al panel de configuración de la aplicación, como ya tenemos el ID de la aplicación y el ID secreto para poder utilizar la aplicación necesitamos un token y configurar los permisos que requerirá la aplicación al usuario y los permisos que le damos a la aplicación para publicar.

En rojo se destacan los IDs de nuestra aplicación, ahora pinchamos a la izquierda para configurar los permisos, donde pone Use Graph API Explorer
App Facebook
Pinchamos en GET ACCESS TOKEN y configuramos.
Los permisos al usuario nos dan lo mismo, es que va a ver la aplicación de nosotros.
Lo que si es importante es seleccionar todas las casillas que ponga algo referente a likes, para que nos deje verlos y hacerlos.
appface3

Pinchamos en coger el token y nos aparece una ventana emergente en la que nos avisa de que hará la aplicación y nos pregunta si aceptamos (la aplicación nos pedirá lo que nosotros le digamos que nos pida).
App Facebook

Acto seguido nos pedirá permiso para administrar nuestras páginas, como le hemos indicado nosotros en la pestaña de la derecha manage_page.
App Facebook

Una vez hecho esto el navegador nos devuelve a la página de configuración donde habíamos solicitado el token y nos facilita uno.
appface6

Ya tenemos la parte de facebook realizada, ahora toca crear el código.
Para ello nos descargamos la biblioteca facebook-PHP-SDK de https://github.com/facebook/facebook-php-sdk abrimos el comprimido y utilizamos solamente la carpeta src.
En el comprimido hay ejemplos, pero a nosotros con esto nos sirve.
Esa carpeta src la subimos a nuestro hosting y la dejaremos al lado de donde pretendamos ejecutar nuestro código.
Creamos un archivo like.php y le pegamos el siguiente código:

<php
require_once 'src/facebook.php';

//-- App Information --//
$app_id     = 'XXXXXXXXXXX';
$app_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX';

$access_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; 

$facebook = new Facebook(array(
    'appId' => $app_id,
    'secret' => $app_secret,
    'cookie' => false
));

$req =  array(
    'access_token' => $access_token
);

$res = $facebook->api('/me/home?limit=3', 'get', $req);

foreach ($res['data'] as $value){

$comenta = $value['id'];
$name = $value['from']['name'];
echo '<a href="https://facebook.com/'. $comenta .'" target="_blank">Ver en facebook</a>';
$fbId = $comenta;

$res2 = $facebook->api("/$fbId/likes", 'post', $req);

}
 ?>

Si os fijáis en la línea /me/home?limit=3 ese 3 es el número de likes que dará nuestro script cada vez que se ejecute.

Para que se ejecute este script de forma automática debemos ir a nuestros servidor y crear una tarea de cron indicándole cada cuanto tiempo queremos que se ejecute y la ruta a nuestro escript tipo http://nuestraweb.com/like.php

Hay dos tipos de crons standar, en algunos servidores se denomina "tareas programadas" y en otros "cron jobs"
En los de tareas programadas la ruta será solo a nuestro escript tipo like.php y tendremos un menú para indicar minutos, horas días y meses, en los de "cron jobs" lo que indicamos es un comando y suele ser tipo:
/usr/bin/lynx -source http://www.mipaginaweb.com/like.php

Estás tareas programadas o cron jobs ejecutan esa URL como si nosotros mismos lo escribiéramos en el navegador.

Las dos opciones que yo he probado han sido a poner más de 3 y ejecutarlo cada más tiempo o poner solo 3 y ejecutarlo cada pocos minutos, eso ya son opciones de cada cual.

Dudas, críticas y sugerencias en los comentarios.

21 comentarios :

  1. Espectacular como siempre, muy virguero, y con algunas ideas que se me ocurren para que sea útil :) Enhorabuena!

    ResponderEliminar
    Respuestas
    1. Si lo prueba ya me cuentas, si puedo esta tarde pongo el siguiente a este, el "autocomenta" ;)

      Eliminar
  2. plop pense q era autolike para fanpages

    ResponderEliminar
    Respuestas
    1. Pulula por ahí algo de lo que buscas que se hace con javascript y una capa, cuando pinchan en cualquier parte de una web te dan "like" sin darse cuenta ;)

      Eliminar
    2. como se hace eso ? que mencionas sobre la capa de javscript

      Eliminar
  3. Buenos dias
    Me/home esa ruta se queda así?

    ResponderEliminar
    Respuestas
    1. No necesariamente, esa podrías modificarla ;)

      Eliminar
    2. Aquí tienes más rutas disponibles https://developers.facebook.com/docs/reference/api/examples/

      Eliminar
  4. me podrias explicar un poco al final no entiendo bien

    ResponderEliminar
    Respuestas
    1. Para que ese código se ejecute el solo de forma automática se programa una tarea CRON Mira en este enlace :)

      Eliminar
    2. si quiero que de like a una de mis fotos que debo poner ?

      Eliminar
  5. Hola, quisiera comunicarme contigo, me interesa mucho esto pero me pierdo me puedes ayudar... explicarmelo con manzanitas por favor????. te dejo mi mail, estoy dispuesta a cancelar tus servicios. campos.tabita@gmail.com

    ResponderEliminar
    Respuestas
    1. A la derecha (más arriba) tienes el apartado de contacto para escribirme :)

      Eliminar
  6. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  7. Primeramente gracias por la información.
    como la interfaz del facebook en app developers ha cambiado, al principio no pude ubicarme en las pantallas. Bueno he desarrollado todas las indicaciones y lo que me muestra es el scrip de like.php sólo eso, haber si me das una manito, nuvamente gracias.

    ResponderEliminar
  8. Hola! buena info pero en mi caso me interesaria crear una app de auto liker como por ejemplo likelo.com etc. si me puedes ayudar me seria super gracias

    ResponderEliminar
  9. Muy buena info :) quien sabe de programación es total mente fácil crear una página con auto like . También se puede poner que el usuario este logeado para poder ejecutar el código :)

    ResponderEliminar
  10. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar

Deja tu comentario.
Si sólo quieres mostrar tu nombre elige (Nombre/url) y deja en blanco el campo de url.