Publicar en Mastodon con CURL

Voy a enseñarte a publicar en Mastodon desde la terminal utilizando CURL. Utilizaremos la API de Mastodon para realizar una petición POST y publicar un mensaje en nuestro timeline.

Paso 1: Obtener el token de acceso

Para poder publicar en Mastodon desde la terminal, necesitamos un token de identificación. Para obtenerlo, nos dirigimos a la página de ajustes de nuestra cuenta de Mastodon ("Preferencias") y en la sección "Desarrollo" pulsamos en "Nueva aplicación". No te asustes, solo debemos rellenar "Nombre de la aplicación" con el nombre que quieras, el resto de campos son opcionales. Pulsamos en "Enviar" y nos aparecerá un token de acceso. En mi caso se muestra como "Tu token de acceso". Ignora el campo "ID de la aplicación" o "Clave secreta".

Copiamos el token y lo guardamos en un lugar seguro.

Paso 2: Ejecutar CURL

Necesitaremos realizar una petición POST a la API de Mastodon. Para ello, utilizaremos CURL. En el siguiente ejemplo, publicaremos un mensaje en Mastodon con el texto "Hola Mastodon" y el idioma "es" (español). Además el mensaje será público.

curl --location 'https://{{ dominio de tu servidor }}/api/v1/statuses' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Bearer {{ token }}' \
--data-urlencode 'status=Hola Mastodon' \
--data-urlencode 'language=es' \
--data-urlencode 'visibility=public'

Por ejemplo, si el dominio de mi instacia es mastodon.social y mi token es 1234567890, la petición sería:

curl --location 'https://mastodon.social/api/v1/statuses' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Bearer 1234567890' \
--data-urlencode 'status=Hola Mastodon' \
--data-urlencode 'language=es' \
--data-urlencode 'visibility=public'

Y ya hemos terminado. Si todo ha ido bien, deberíamos ver nuestro mensaje en el timeline de Mastodon.

This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.

Will you buy me a coffee?

You can use the terminal.

ssh customer@andros.dev -p 5555

Written by Andros Fenollosa

July 6, 2023

2 min of reading

You may also like