Publicar en Twitter con PHP

Si estás leyendo esto significa que necesitas publicar tweets con PHP y no sabes muy bien como, pero no te preocupes porque es más sencillo de lo que parece, y además te lo voy a explicar todo paso a paso y de forma que al finalizar esta guía tengas publicado en Twitter tu primer tweet desde PHP.

Crear una Aplicación de Twitter

1. Accede a Twitter con el perfil donde quieres que se publiquen los tweets.

2. Una vez la sesión esté abierta ve a https://apps.twitter.com.

3. Seguidamente haz clic en «Create New App».

 

Crear Twitter App

4. En el siguiente paso rellena el formulario para crear la aplicación. Para lo que queremos hacer no hace falta cumplimentar el campo «Callback URL», por lo que lo dejaremos en blanco.

Formulario de creación de la twiiter app

5. Haz clic en «Create your Twitter application» para continuar. Si el perfil de Twitter no tiene configurado un número de teléfono, te obligará a que lo configures si quieres seguir con la creación de la aplicación de Twitter. Para ello, abre el perfil en otra pestaña y ve a Configuración y privacidad y luego en el menú de la izquierda verás el apartado «Móvil», guarda tu número de teléfono y vuelve al formulario porque ahora ya te permitirá crear tu app.

6. Ahora tu aplicación de Twitter ya está creada y estarás viendo el «cuadro de mandos». Fíjate en el menú que hay debajo del nombre de la App y haz clic en «Keys and Access Tokens».

Ir a Keys and Access Tokens

7. Una vez situado en la pestaña, copia en un bloc de notas el «Consumer Key (API Key)» y el «Consumer Secret (API Secret)» porque nos harán falta más tarde.

Copiar Consumer Key y Consumer Secret

8. En la misma pestaña y abajo del todo verás un botón que dice «Create my access token».

Crear access token

9. Haz clic en él y enseguida verás que donde antes estaba el botón, ahora aparece el token creado. Cópialo, tanto el «Access Token» como el «Access Token Secret» porque los necesitamos más adelante.

Copia el Access Token y el Access Token Secret

Publicar un tweet con PHP

Esta parte quizás te asuste un poco, pero tranquilo porque no te resultará más complicada que la anterior. Para empezar debes descargarte codebird-php, una librería PHP para acceder de manera fácil a la Twitter Rest API. Una vez descargada ubícala en el raíz de tu proyecto PHP, y a continuación, crea un archivo php (yo lo he llamado tweet.php) e inserta el siguiente código:

<?php

require_once __DIR__ . "/codebird-php/src/codebird.php";

$apiKey = "Escribe aquí el Consumer Key";
$apiSecret = "Escribe aquí el Consumer Secret";
$accessToken = "Escribe aquí el Access Token";
$accessTokenSecret = "Escribe aquí el Access Token Secret";
        
\Codebird\Codebird::setConsumerKey($apiKey, $apiSecret);
$codebird = \Codebird\Codebird::getInstance();
$codebird->setToken($accessToken, $accessTokenSecret);

$params = array(
    "status" => "Este tweet ha sido publicado con PHP"
);

$codebird->statuses_update($params);

?>

Cuando hayas pegado el código sustituye donde pone Escribe aquí… por las claves que has copiado en el apartado de Crear aplicación de Twitter y cambia «Este tweet ha sido publicado con PHP» por el mensaje que quieres twitear. Una vez hecho esto, ejecuta tu script php y corre a tu perfil de Twitter para ver el tweet publicado con PHP.

Resultado de publicar un tweet con php

 

Publicar imagen en Twitter con PHP

Quizás necesites que el tweet que se autopublique mediante PHP incorpore también una imagen. No te preocupes, es tan sencillo como añadir una linea de código más al fragmento de código anterior y modificar la última. Os dejo el ejemplo completo listo para copiar, pegar y reemplazar.

<?php

require_once __DIR__ . "/codebird-php/src/codebird.php";

$apiKey = "Escribe aquí el Consumer Key";
$apiSecret = "Escribe aquí el Consumer Secret";
$accessToken = "Escribe aquí el Access Token";
$accessTokenSecret = "Escribe aquí el Access Token Secret";
        
\Codebird\Codebird::setConsumerKey($apiKey, $apiSecret);
$codebird = \Codebird\Codebird::getInstance();
$codebird->setToken($accessToken, $accessTokenSecret);

$params = array(
    "status" => "Este tweet ha sido publicado con PHP",
    "media[]" => "/images/imagen-del-tweet.jpg"
);

$codebird->statuses_updateWithMedia($params);

?>

 

Espero que la guía te haya sido de ayuda y si tienes cualquier duda, comenta y te responderé lo antes posible 😉

 
  1. Muy buen post. He porobado ambas opciones, con y sin imagen. Cuando envío solo texto, me funciona perfectamente, pero cuando lo hago con imágenes, solo conseguí que me funcionase una vez y no me ha vuelto a funcionar. Algún consejo?

 

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Más entradas en el blog

Ver todas las entradas