facebook: ¿token de acceso a la página permanente?


193

Trabajo en un proyecto que tiene páginas de Facebook como una de sus fuentes de datos. Importa algunos datos de él periódicamente sin GUI involucrada. Luego usamos una aplicación web para mostrar los datos que ya tenemos.

No toda la información es pública. Esto significa que tengo que obtener acceso a los datos una vez y luego conservarlos. Sin embargo, no conozco el proceso y todavía no he encontrado un buen tutorial sobre eso. Supongo que necesito un access_token, ¿cómo puedo obtenerlo del usuario, paso a paso? El usuario es administrador de una página de Facebook, ¿tendrá que agregar alguna aplicación de FB nuestra a la página?

EDITAR: Gracias @phwd por el consejo. Hice un tutorial sobre cómo obtener un token de acceso a la página permanente, incluso cuando offline_accessya no existe.

EDITAR: acabo de descubrir que se responde aquí: token de acceso FB de larga duración para que el servidor extraiga la información de la página FB


2
posible duplicado del token de acceso FB
Gajus

Ciertamente parece que sí. Tengo un mejor título, tiene una pregunta más detallada y los dos tenemos aproximadamente la misma respuesta aceptada.
Vlasec

Respuestas:


638

Siguiendo las instrucciones expuestas en la documentación de tokens de página extendida de Facebook, pude obtener un token de acceso a la página que no caduca.

Sugiero usar Graph API Explorer para todos estos pasos, excepto donde se indique lo contrario.

0. Crear aplicación de Facebook

Si ya tiene una aplicación , vaya al paso 1.

  1. Ve a Mis aplicaciones .
  2. Haga clic en "+ Agregar una nueva aplicación".
  3. Configurar una aplicación de sitio web.

No necesita cambiar sus permisos ni nada. Solo necesita una aplicación que no desaparezca antes de que haya terminado con su token de acceso.

1. Obtenga el token de acceso de corta duración del usuario

  1. Vaya al Graph API Explorer .
  2. Seleccione la aplicación para la que desea obtener el token de acceso (en el menú desplegable "Aplicación", no en el menú "Mis aplicaciones").
  3. Haga clic en "Obtener token"> "Obtener token de acceso de usuario".
  4. En la ventana emergente, en la pestaña "Permisos extendidos", marque "manage_pages".
  5. Haga clic en "Obtener token de acceso".
  6. Otorgue acceso desde una cuenta de Facebook que tenga acceso para administrar la página de destino. Tenga en cuenta que si este usuario pierde el acceso, el token de acceso final que nunca caducará probablemente dejará de funcionar.

El token que aparece en el campo "Token de acceso" es su token de acceso de corta duración.

2. Generar token de acceso de larga duración

Siguiendo estas instrucciones de los documentos de Facebook, haga una solicitud GET para

https://graph.facebook.com/v2.10/oauth/access_token?grant_type=fb_exchange_token&client_id= {app_id} & client_secret = {app_secret} & fb_exchange_token = {short_lived_token}

ingresando el ID y el secreto de su aplicación y el token de corta duración generado en el paso anterior.

No puede usar Graph API Explorer . Por alguna razón, se atasca en esta solicitud. Creo que es porque la respuesta no es JSON, sino una cadena de consulta. Como se trata de una solicitud GET, puede ir a la URL en su navegador.

La respuesta debería verse así:

{"access_token": " ABC123 ", "token_type": "bearer", "expires_in": 5183791}

"ABC123" será su token de acceso de larga duración. Puede ponerlo en el depurador de tokens de acceso para verificar. En "Caduca" debería tener algo así como "2 meses".

3. Obtener ID de usuario

Usando el token de acceso de larga duración, haga una solicitud GET para

https://graph.facebook.com/v2.10/me?access_token= {long_lived_access_token}

El idcampo es su ID de cuenta. Lo necesitará para el siguiente paso.

4. Obtenga un token de acceso a la página permanente

Haga una solicitud GET para

https://graph.facebook.com/v2.10/ {account_id} / accounts? access_token = {long_lived_access_token}

La respuesta JSON debe tener un datacampo bajo el cual hay una matriz de elementos a los que el usuario tiene acceso. Encuentre el elemento para la página desde la que desea el token de acceso permanente. El access_tokencampo debe tener su token de acceso permanente. Cópielo y pruébelo en el depurador de tokens de acceso . En "Caduca" debería decir "Nunca".


14
Facebook lo estropeó para que ya no funcione. :-( Después del paso 1.5 anterior (haciendo clic en el botón "Obtener token de acceso") aparece una advertencia roja en el siguiente cuadro de diálogo, que indica "Enviar para revisión de inicio de sesión - Algunos de los permisos a continuación no han sido aprobados para su uso por Facebook" y también un el candado con el texto "Esto no permite que la aplicación publique en Facebook" aparece al mismo tiempo a continuación. Por lo tanto, se debe insertar un nuevo paso entre el paso 1.5 y 1.6 anterior, que dice "Haz muchas cosas tediosas con tu aplicación, luego envíelo para su revisión, luego ore y espere. ":-( ¿Alguien sabe cómo solucionar esto para una aplicación de prueba pura?
QuestionOverflow

10
Para cualquiera que llegue al último paso y el navegador simplemente regrese: message: "(#100) Tried accessing nonexisting field (accounts) on node type (Page)", type: "OAuthException", code: 100 vaya al Depurador de tokens de acceso FB y pruebe su long_lived_access_token. Consistentemente he visto que después de unos minutos, si vas hacia atrás y vuelva a comprobar la long_lived_access_token el FB Token de acceso depurador A continuación, indican que esa señal es permanente (Caducidad: nunca)
AdjunctProfessorFalcon

14
Lo juro, si no hubiera leído esta respuesta, todavía estaría golpeando mi cabeza contra la pared con una ficha de corta duración ... Lo malo es que la última parte no está funcionando ... Recibo el (#100) Tried accessing nonexisting field (accounts) on node type (Page)error ... no puede continuar con el paso 5 ... Aún así, gracias ... LE: revise la última parte de la respuesta proporcionada por @Vlasec. Puede obtener el token de acceso permanente al consultar / {pageId}? Fields = access_token & access_token = {long_lived_access_token}, por lo que se solucionó el problema.
Mujnoi Gyula Tamas

15
Tuve que usar esto para el paso final para obtener mi token de acceso permanente, ya que dice que "cuentas" no existe, incluso para v2.7:https://graph.facebook.com/v2.7/{page_id}?fields=access_token&access_token={long_lived_access_token}
Reado

55
En el último paso obtengo la siguiente excepción {"error": {"mensaje": "Error de sintaxis \" Fin esperado de la cadena en lugar de \ "? \". \ "En el carácter 11: access_toke \ u200c \ u200bn" , "type": "OAuthException", "code": 2500, "fbtrace_id": "A8 + gtSaShIO"}} ¿Alguien sabe cómo resolverlo?
Lucy

89

Aquí está mi solución usando solo Graph API Explorer y Access Token Debugger :

  1. Graph API Explorer:
    • Seleccione su aplicación en el menú desplegable superior derecho
    • Seleccione "Obtener token de acceso de usuario" del menú desplegable (campo de token de derecho de acceso) y seleccione los permisos necesarios
    • Copiar token de acceso de usuario
  2. Depurador de tokens de acceso:
    • Pegue el token copiado y presione "Depurar"
    • Presione "Extender token de acceso" y copie el token de acceso de usuario de larga duración generado
  3. Graph API Explorer:
    • Pegue el token copiado en el campo "Token de acceso"
    • Realice una solicitud GET con "PAGE_ID? Fields = access_token"
    • Encuentre el token de acceso a la página permanente en la respuesta (nodo "access_token")
  4. (Opcional) Depurador de tokens de acceso:
    • Pegue el token permanente y presione "Depurar"
    • "Expira" debe ser "Nunca"

(Probado con API Versión 2.9-2.11, 3.0-3.1)


3
No hay que presionar el botón "Extender token de acceso". Tal vez lo sacaron.
Cesar Bielich

44
Veo el botón "Extender"
Eduardo

2
Después de extender el token de acceso (paso 2) y depurarlo nuevamente, nunca debería expirar. Puede pasar los pasos 3 y 4.
daniel_serretti

1
Gracias por esta respuesta mucho más fácil de entender que la pregunta anterior. Fue de mucha ayuda.
Paul Laffitte

2
¡Oh, amigo, estás en llamas! ¡Muchas gracias! ¡Perdí mucho tiempo para encontrar esta opción, porque no podía depurar una aplicación correctamente!
Killuminati

11

Además de los pasos recomendados en la respuesta de Vlasec , puede usar:


3
Esto ya no funciona. El token solo dura una hora
flashsnake

@flashsnake, ¿has probado esto en v2.8? el depurador de tokens muestra
Expires

No me acuerdo Puede que lo haya probado.
flashsnake

11

Hice un script PHP para hacerlo más fácil. Crea una aplicación . En Graph API Explorer, seleccione su aplicación y obtenga un token de usuario con permiso de manage_pages y Publish_pages. Encuentre la identificación de su página en la parte inferior de su página Acerca de. Complete los vars de configuración y ejecute el script.

<?php
$args=[
    'usertoken'=>'',
    'appid'=>'',
    'appsecret'=>'',
    'pageid'=>''
];

echo generate_token($args);

function generate_token($args){
    $r=json_decode(file_get_contents("https://graph.facebook.com/v2.8/oauth/access_token?grant_type=fb_exchange_token&client_id={$args['appid']}&client_secret={$args['appsecret']}&fb_exchange_token={$args['usertoken']}")); // get long-lived token
    $longtoken=$r->access_token;
    $r=json_decode(file_get_contents("https://graph.facebook.com/v2.8/me?access_token={$longtoken}")); // get user id
    $userid=$r->id;
    $r=json_decode(file_get_contents("https://graph.facebook.com/v2.8/{$userid}/accounts?access_token={$longtoken}")); // get permanent token
    foreach($r->data as $d) if($d->id==$args['pageid']) return $d->access_token;
}

1
+1 ¡Lo acabo de probar y, entre todas estas respuestas parcialmente despreciables, funciona de maravilla! Me gusta esta respuesta porque las modificaciones futuras son fáciles con una pequeña edición aquí y allá.
Siddhant Rimal

Lo siento, no se me permitió editar esta respuesta. Entonces, para Graph API 2.9, escribí otra respuesta en su lugar.
Siddhant Rimal

Parece que cambiaron cosas con 2.9 porque ninguno de estos ejemplos funciona más
Cesar Bielich

10

Otra respuesta PHP para hacer la vida más fácil. Actualizado para Facebook Graph API 2.9 . Simplemente llénelo y cárguelo.

<?php
$args=[
/*-- Permanent access token generator for Facebook Graph API version 2.9 --*/
//Instructions: Fill Input Area below and then run this php file
/*-- INPUT AREA START --*/
    'usertoken'=>'',
    'appid'=>'',
    'appsecret'=>'',
    'pageid'=>''
/*-- INPUT AREA END --*/
];
echo 'Permanent access token is: <input type="text" value="'.generate_token($args).'"></input>';
function generate_token($args){
    $r=json_decode(file_get_contents("https://graph.facebook.com/v2.9/oauth/access_token?grant_type=fb_exchange_token&client_id={$args['appid']}&client_secret={$args['appsecret']}&fb_exchange_token={$args['usertoken']}")); // get long-lived token
    $longtoken=$r->access_token;
    $r=json_decode(file_get_contents("https://graph.facebook.com/v2.9/me?access_token={$longtoken}")); // get user id
    $userid=$r->id;
    $r=json_decode(file_get_contents("https://graph.facebook.com/v2.9/{$userid}?fields=access_token&access_token={$longtoken}")); // get permanent token
    if($r->id==$args['pageid']) $finaltoken=$r->access_token;
    return $finaltoken;
}
?>

Anexo: (alternativa)

Gráfico 2.9 en adelante, puede omitir gran parte de la molestia de obtener un token de acceso largo simplemente haciendo clic en Extender token de acceso en la parte inferior de la herramienta Debugger de token de acceso , después de haber depurado un token de acceso corto. Armado con información sobre pageidy longlivedtoken, ejecute el php a continuación para obtener un token de acceso permanente.

<?php
$args=[
/*-- Permanent access token generator for Facebook Graph API version 2.9 --*/
//Instructions: Fill Input Area below and then run this php file
/*-- INPUT AREA START --*/
    'longlivedtoken'=>'',
    'pageid'=>''
/*-- INPUT AREA END --*/
];
echo 'Permanent access token is: <input type="text" value="'.generate_token($args).'"></input>';
function generate_token($args){
$r=json_decode(file_get_contents("https://graph.facebook.com/v2.9/{$args['pageid']}?fields=access_token&access_token={$args['longlivedtoken']}"));
return $r->access_token;
}
?>

Aunque el segundo código le ahorra muchas molestias, le recomiendo que ejecute el primer código php a menos que tenga mucha prisa porque verifica de forma cruzada pageid y userid. El segundo código no terminará funcionando si elige el token de usuario por error.

Gracias a dw1 y Rob


El botón Extender token de acceso no está allí, ¿me estoy perdiendo algo?
Cesar Bielich

@CesarBielich: Primero debe depurar un token de acceso corto. Aparece debajo de los resultados cuando depura un token de aplicación corto. Como no puede verlo, debe haber depurado un token de acceso de usuario. Tenga en cuenta que esta respuesta no se aplica al uso de token de acceso; solo se puede usar el token de acceso a la aplicación Los tokens de acceso de usuario no pueden ser permanentes. Se pueden generar hasta fichas largas.
Siddhant Rimal

1
@CesarBielich Creo que estás confundiendo algo aquí. Puede crear tokens de acceso para usuarios, aplicaciones y páginas. Debe elegir una aplicación que haya creado, en lugar de Graph API Exploreren el campo Aplicación antes de poder solicitar un token.
Siddhant Rimal

@CesarBielich: Use el primer método si el segundo es demasiado confuso para usted. Simplemente rellena los campos de entrada en el primero y todo sucede automáticamente :)
Siddhant Rimal

Lo siento, estaba comentando sobre una publicación diferente que acabo de hacer anoche lol. Sí, por alguna razón no pude hacer que el tuyo funcione y convertirme en un token que nunca caduque. Tuve que eliminar el v2.9en la segunda llamada y eso funcionó para mí. Wierd
Cesar Bielich

6

Intenté estos pasos: https://developers.facebook.com/docs/marketing-api/access#graph-api-explorer

Obtener token de acceso a la página permanente

  • Vaya a Graph API Explorer
  • Seleccione su aplicación en la aplicación
  • Pegue el token de acceso de larga duración en el token de acceso
  • Junto a Token de acceso , elija la página para la que desea un token de acceso. El token de acceso aparece como una nueva cadena.
  • Haga clic en i para ver las propiedades de este token de acceso
  • Haga clic en el botón "Abrir en la herramienta de token de acceso" nuevamente para abrir la herramienta "Depurador de token de acceso" para verificar las propiedades

Un consejo, solo funcionó para mí cuando el idioma de la página es el inglés .


1
¡¡¡ESTE CHICO!!! 5 cervezas virtuales. Esto funciona reemplazando el paso 5 de la respuesta aprobada. versión del gráfico 2.8
Raíz -

1
He perdido semanas en poder usar la API de Facebook. Es, hasta la fecha, el token más confuso e inconsistente que he encontrado. Esta solución aún funciona perfectamente. Octubre de 2017
user919426

4

Si solo solicita datos de página, puede usar un token de acceso a la página. Solo tendrá que autorizar al usuario una vez para obtener el token de acceso del usuario; extiéndalo a dos meses de validez y luego solicite el token para la página. Todo esto se explica en el escenario 5 . Tenga en cuenta que el token de acceso a la página adquirido solo es válido mientras el token de acceso de usuario sea válido.


Lo siento, tal vez no fui lo suficientemente claro. He leído sobre tokens, solo necesito aprender a pedirle permiso al usuario y transferir un token a mi aplicación. Parece que necesito crear alguna "aplicación" de Facebook cuyo único propósito es pedir permisos, ¿no es así?
Vlasec

1
@Viasec Correct, la única forma de obtener un token de acceso es a través de una aplicación como se explica aquí developers.facebook.com/docs/facebook-login
phwd

Gracias, debo haberlo ignorado de alguna manera, supuse que estaba en algún lugar de la sección de API, lo cual estaba mal. Lo miraré, espero que responda mi pregunta.
Vlasec

4

Mientras obtenía el token de acceso permanente, seguí los 5 pasos anteriores como mencionó Donut . Sin embargo, en el quinto paso, mientras se genera el token de acceso permanente, se devuelve el token de acceso de larga duración (que es válido durante 2 meses), no el token de acceso permanente (que nunca caduca). Lo que noté es que la versión actual de Graph API es V2.5. Si intenta obtener el token de acceso permanente con V2.5, le está dando un token de acceso de larga duración. Intente realizar una llamada API con V2.2 (si no puede cambiar la versión en el explorador de API api, presione la llamada API https: //graph.facebook.com/v2.2/ {account_id} / accounts? access_token = {long_lived_access_token} en la nueva pestaña con V2.2), obtendrá el token de acceso permanente (que nunca caduca)


Volver a las versiones de la API para lograr resultados solo dará como resultado más trabajo en el futuro que he encontrado, especialmente porque la versión de la API caduca después de cierto tiempo.
SlickRemix

devuelve nulo :( ¿Cómo obtenemos el token de acceso a la página?
Nancy thakkar

3

Además de los métodos mencionados, vale la pena mencionar que para las aplicaciones de servidor a servidor, también puede usar esta forma de token de acceso permanente: app_id | app_secret Este tipo de token de acceso se llama Token de aplicación. Generalmente se puede usar para llamar a Graph API y consultar nodos públicos dentro del back-end de su aplicación. Se menciona aquí: https://developers.facebook.com/docs/facebook-login/access-tokens


1
¿Permite algún tipo de acceso a las páginas? Creo que no lo hace y en ese caso realmente no responde la pregunta.
Vlasec

@Vlasec Le permite acceder a comentarios en una publicación pública
Ali Gajani

1
Si bien eso podría ser suficiente para algunos, no responde la pregunta.
Vlasec

2

Gracias a @donut logré obtener el token de acceso que nunca caduca en JavaScript.

// Initialize exchange
fetch('https://graph.facebook.com/v3.2/oauth/access_token?grant_type=fb_exchange_token&client_id={client_id}&client_secret={client_secret}&fb_exchange_token={short_lived_token}')
.then((data) => {
    return data.json();
})
.then((json) => {
    // Get the user data
    fetch(`https://graph.facebook.com/v3.2/me?access_token=${json.access_token}`)
    .then((data) => {
        return data.json();
    })
    .then((userData) => {
        // Get the page token
        fetch(`https://graph.facebook.com/v3.2/${userData.id}/accounts?access_token=${json.access_token}`)
        .then((data) => {
            return data.json();
        })
        .then((pageToken) => {
            // Save the access token somewhere
            // You'll need it at later point
        })
        .catch((err) => console.error(err))
    })
    .catch((err) => console.error(err))
})
.catch((err) => {
    console.error(err);
})

y luego usé el token de acceso guardado como este

fetch('https://graph.facebook.com/v3.2/{page_id}?fields=fan_count&access_token={token_from_the_data_array}')
.then((data) => {
    return data.json();
})
.then((json) => {
    // Do stuff
})
.catch((err) => console.error(err))

Espero que alguien pueda recortar este código porque es un poco desordenado, pero fue la única forma en que se me ocurrió.


2

Si tiene la aplicación de Facebook, puede probar con id-aplicación y secreto-aplicación.

Me gusta :

access_token={your-app_id}|{your-app_secret}

no requerirá cambiar el token con frecuencia.


1

Límite de solicitud de aplicación alcanzado (# 4) - FB API v2.1 y superior

Esta respuesta me llevó a la "respuesta final para nosotros" y, por lo tanto, está muy relacionada, así que la adjunto aquí. Si bien está relacionado con lo anterior, es diferente y parece que FB ha simplificado un poco el proceso.

Nuestras cuentas de uso compartido en nuestro sitio dejaron de funcionar cuando FB pasó la API a la versión 2.1. En nuestro caso, ya teníamos una aplicación de FB y NO estábamos usando el inicio de sesión de FB. Entonces, lo que teníamos que hacer era obtener un token de aplicación FB para hacer las nuevas solicitudes. Esto es a partir del 23 de agosto de 2016.

  1. Vaya a: https://developers.facebook.com/tools/explorer
  2. Seleccione la versión de la API y luego use GET y pegue lo siguiente:

    /oauth/access_token?client_id={app-id}&client_secret={app-secret}&grant_type=client_credentials
    

    Querrá obtener su identificación de la aplicación y su secreto de la aplicación desde su página de la aplicación. Página principal del desarrollador de FB Apps

  3. Ejecute la consulta gráfica y verá:

    {
       "access_token": "app-id|app-token",
       "token_type": "bearer"
    }
    

    Dónde

    "id-aplicación"
    y
    "token de aplicación"
    será la identificación de su aplicación desde la página de su aplicación FB y la aplicación HAB de FB generada que acaba de recibir.

  4. A continuación, pruebe su nuevo token de acceso a la aplicación: FB Access Token tester

  5. Deberías ver, pegando el

    "token de aplicación"
    en el probador de tokens, un token basado en una sola aplicación sin fecha / hora de vencimiento.

En nuestro caso, estamos utilizando el FB js sdk, así que cambiamos nuestra llamada para que sea así (tenga en cuenta que esto SOLO obtiene el recuento de acciones y no el recuento de acciones y comentarios combinados como solía ser) :

FB.api(
    '/','GET',{
    // this is our FB app token for our FB app 
        access_token: FBAppToken,
        "id":"{$shareUrl}","fields":"id,og_object{ engagement }"
}

Esto ahora está funcionando correctamente. Esto requirió mucha búsqueda y un informe de error oficial con FB para confirmar que tenemos que comenzar a hacer solicitudes tokenizadas a la API de FB. Como comentario aparte, solicité que (FB) agreguen una pista al Código de error (# 4) que menciona la solicitud tokenizada.

Acabo de recibir otro informe de uno de nuestros desarrolladores de que nuestro recuento de comentarios de FB también está roto debido a la nueva necesidad de solicitudes tokenizadas, por lo que actualizaré esto en consecuencia.


1
Siempre fue el usuario de la aplicación quien hizo el inicio de sesión y permitió el acceso a la aplicación. De todos modos, esto no parece crear un token de acceso a la página, por lo que creo que no es una respuesta válida a la pregunta. Aunque interesante, ¿tal vez hacer un Q / A propio?
Vlasec

1

Muchos de estos ejemplos no funcionan, no estoy seguro si se debe a la salida de 2.9v pero me estaba golpeando la cabeza. De todos modos, tomé la versión @ dw1 y la modifiqué un poco con la ayuda del video @KFunk y conseguí que funcionara para 2.9. Espero que esto ayude.

$args=[
/*-- Permanent access token generator for Facebook Graph API version 2.9 --*/
//Instructions: Fill Input Area below and then run this php file
/*-- INPUT AREA START --*/
    'usertoken'=>'',
    'appid'=>'',
    'appsecret'=>'',
    'pageid'=>''
/*-- INPUT AREA END --*/
];
echo 'Permanent access token is: <input type="text" value="'.generate_token($args).'"></input>';
function generate_token($args){
    $r = json_decode(file_get_contents("https://graph.facebook.com/v2.9/oauth/access_token?grant_type=fb_exchange_token&client_id={$args['appid']}&client_secret={$args['appsecret']}&fb_exchange_token={$args['usertoken']}")); // get long-lived token
    $longtoken=$r->access_token;
    $r=json_decode(file_get_contents("https://graph.facebook.com/{$args['pageid']}?fields=access_token&access_token={$longtoken}")); // get user id
    $finaltoken=$r->access_token;
    return $finaltoken;
}

Un buen fragmento, pero esta pregunta no se trata de cómo hacerlo en PHP, sino de cómo usar la API en sí, que también se puede hacer en Java o .NET. Por ejemplo, necesitaba hacerlo en Java. El pseudocódigo o la guía paso a paso serían más útiles para aquellos que no usan PHP.
Vlasec

2
@Vlasec Yo diría que este fragmento de PHP está bastante cerca de cualquier pseudocódigo y es muy fácil de entender. Casar solo está utilizando algunas API que ya son proporcionadas por Facebook. El resto de las cosas se explica por sí mismo.
Siddhant Rimal

0

A partir de abril de 2020, mis tokens de página previamente permanentes comenzaron a caducar entre 1 y 12 horas. Comencé a usar tokens de usuario con el manage_pagespermiso para lograr el objetivo anterior (sondear los eventos de una página). Esas fichas parecen ser permanentes.

Creé un script de Python basado en la información que se encuentra en esta publicación, alojada en github.com/k-funk/facebook_permanent_token , para realizar un seguimiento de qué parámetros son necesarios y qué métodos para obtener un token permanente están funcionando.


-1

Encontré esta respuesta que se refiere a esta herramienta que realmente ayudó mucho.

Espero que esta respuesta siga siendo válida cuando leas esto.


OKAY. ¿La respuesta por donut todavía funciona, o necesita algún paso adicional?
Vlasec
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.