// Integración social · 8 pasos · ~15 min

Configuración de Threads

Obtén un token de acceso de larga duración de Threads y tu Threads User ID. Este vive en la plataforma para desarrolladores de Meta (la misma que Facebook e Instagram) pero tiene su propio App ID y App Secret, separados de la app principal de Meta. No los confundas.

// Con lo que terminarás
  • social_threads_token, un token de acceso de larga duración (60 días de vigencia, renovable)
  • social_threads_user_id, un User ID numérico
// Antes de empezar
  • Tienes una cuenta de Threads (una personal sirve, Threads no distingue las de tipo Business).
  • Tu cuenta de Threads y tu cuenta de desarrollador de Meta son la misma identidad.
  • Tienes dónde alojar una URL de política de privacidad y una URL de redirección. Ambas deben ser HTTPS. Cualquier URL en getartdrop.com sirve para uso personal.
  1. 1
    Meta para Desarrolladores

    Crea una app de Meta con el caso de uso de Threads

    1. Ve a developers.facebook.com/apps e inicia sesión.
    2. Haz clic en Create App.
    3. En Use cases, elige Access the Threads API. (Está en la lista, desplázate si hace falta.)
    4. Ponle nombre a la app, añade un correo de contacto y créala.

    También puedes añadir el caso de uso de Threads a una app de Meta existente. Barra lateral izquierda, Use cases, Add use case, Access the Threads API.

  2. 2
    Credenciales de la app de Threads

    Copia el Threads App ID y el Threads App Secret

    Aquí está la trampa: una app con el caso de uso de Threads tiene dos App IDs y dos App Secrets, uno para la app padre de Meta y otro específico de Threads. Necesitas el par de Threads, no el de la app padre.

    1. Barra lateral izquierda, Use cases, Access the Threads API, Customize.
    2. Desplázate hasta Settings y encuentra el Threads App ID y el Threads App Secret.
    3. Copia ambos.

    Si por accidente usas el App ID de la app padre de Meta en las llamadas OAuth, obtendrás errores confusos de invalid_client. Usa siempre el par de Threads.

  3. 3
    Configuración del caso de uso de Threads

    Añade permisos y URLs

    Todavía dentro de Use cases, Access the Threads API, Customize:

    1. Abre Permissions y añade:
      • threads_basic (requerido para todo)
      • threads_content_publish (requerido para publicar)
      • threads_manage_insights (opcional, métricas)
    2. Abre Settings (dentro del caso de uso) y añade:
      • Redirect Callback URL, cualquier URL HTTPS que controles (por ejemplo https://getartdrop.com/).
      • Deauthorize Callback URL, la misma u otra distinta.
      • Data Deletion Request URL, la misma.
  4. 4
    Revisión de la app

    Añádete como Threads Tester (evita la revisión de la app)

    Una app con el caso de uso de Threads empieza en modo Development. En modo de desarrollo, solo los administradores y testers de la propia app pueden autorizarla. Eso está perfecto para uso de un solo usuario, no necesitas la revisión de la app (App Review).

    1. Barra lateral izquierda, App roles, Roles.
    2. Desplázate hasta Threads Testers y haz clic en Add Threads Testers.
    3. Introduce tu nombre de usuario de Threads y envía la invitación.
    4. En threads.net/settings, acepta la invitación (revisa la sección Website permissions o Invites).

    NO cambies la app a modo Live. El modo Live requiere una revisión completa de la app (App Review), que tarda de 2 a 4 semanas y necesita una grabación de pantalla del flujo del usuario. Totalmente innecesario para uso personal.

  5. 5
    Autorización OAuth

    Abre la URL de autorización de Threads en un navegador

    Arma esta URL, sustituyendo tu THREADS_APP_ID y tu URL de redirección:

    https://threads.net/oauth/authorize
        ?client_id={THREADS_APP_ID}
        &redirect_uri={REDIRECT_URL}
        &scope=threads_basic,threads_content_publish,threads_manage_insights
        &response_type=code
        &state=artdrop-setup

    Pégala en un navegador donde tengas la sesión iniciada en Threads. Pulsa Authorize. Threads te redirige de vuelta a tu URL de redirección con un parámetro ?code=... en la barra de direcciones.

    Copia el valor de code de la URL. Úsalo en el siguiente paso dentro de unos minutos. Los códigos caducan rápido.

  6. 6
    Intercambia el código por un token corto

    Cambia el código por un token de acceso de corta duración

    Haz un POST al endpoint del token. Lo más fácil es con curl:

    curl -X POST https://graph.threads.net/oauth/access_token \
         -F client_id={THREADS_APP_ID} \
         -F client_secret={THREADS_APP_SECRET} \
         -F grant_type=authorization_code \
         -F redirect_uri={REDIRECT_URL} \
         -F code={CODE_FROM_STEP_5}

    Respuesta:

    { "access_token": "THAAx...", "user_id": 123456789012345 }

    Copia el access_token. Esa es la versión de corta duración (~1 hora). Toma también el user_id, ese es el Threads User ID para ArtDrop.

  7. 7
    Token de larga duración

    Cambia el token corto por uno de 60 días

    curl -G https://graph.threads.net/access_token \
         -d grant_type=th_exchange_token \
         -d client_secret={THREADS_APP_SECRET} \
         -d access_token={SHORT_TOKEN_FROM_STEP_6}

    La respuesta te da un nuevo access_token válido durante 60 días.

    ArtDrop renueva este token automáticamente antes de que caduque. Si ArtDrop está desconectado o desinstalado más allá de los 60 días, el token muere y tendrás que rehacer todo desde el Paso 5.

  8. 8
    Pega y guarda

    Introduce ambos valores en ArtDrop

    De vuelta en la página Social de ArtDrop, sección Threads:

    • Threads Access Token: el token de larga duración del Paso 7.
    • User ID: el ID numérico del Paso 6.

    Pulsa Save. ArtDrop llama a /me?fields=id,username para verificar, y verás el nombre de usuario vinculado de inmediato si funcionó.

// Fallos habituales
  • App ID equivocado: la causa número 1 de los fallos de OAuth. Usa el App ID de Threads, no el App ID de la app padre de Meta. Aparecen en pantallas distintas.
  • "Invalid redirect URI": la URL de redirección en la llamada OAuth debe coincidir exactamente con la que está en la configuración de la app (barra final, esquema, puerto, todo).
  • Código ya usado: los códigos de autorización son de un solo uso. Si el Paso 6 falla, vuelve al Paso 5 y consigue un código nuevo.
  • El token de larga duración muere a los 60 días si nunca se renueva. ArtDrop lo renueva automáticamente cuando estás dentro de los 7 días previos a la caducidad, pero la herramienta tiene que estar en funcionamiento.
  • Solo personal: solo puedes autorizar cuentas que hagan OAuth en tu app. No puedes gestionar las cuentas de Threads de otras personas sin que ellas mismas pasen por este flujo.
  • Límites de frecuencia: 250 publicaciones publicadas por cada 24 horas, por cuenta. ArtDrop se mantiene muy por debajo, pero volcar 500 publicaciones de una sola vez se atascará.
  • Publicar es un proceso de dos pasos por dentro: crear el contenedor y luego publicar. ArtDrop se encarga de esto por ti, tú solo aportas aquí las credenciales.
// ¿Atascado?

El OAuth de Threads es el más quisquilloso de los cinco por la peculiaridad de los dos App IDs. Si el Paso 6 devuelve invalid_client o invalid_grant, haz una captura de pantalla de Use cases, Access the Threads API, Customize, Settings de la app de Meta y escribe a support@getartdrop.com. Verificaremos que estés usando los IDs correctos.

Referencia oficial: Threads Get Started, Long-Lived Tokens.