Comprueba si la aplicación de pestaña de página todavía está instalada

¿Cuál es la mejor manera de verificar si una aplicación de tabs todavía está instalada en una Página de Aficionados específica, usando la API de gráfico?

La única forma en que puedo encontrar es usando https://graph.facebook.com/page_id/tabs/app_id , y esto devolverá los datos de la pestaña dada, si está instalada, pero parece que se requiere access_token . Para usar este método, creo que necesitaría pedirle al usuario no solo los permisos de manage_pages sino también el acceso fuera de línea, luego podría almacenar el page_access_token y poder usarlo más tarde con el único propósito de verificar si la aplicación ha sido ¿remoto?

Parece extraño que esto no sea solo información pública, considerando que sin haber iniciado sesión en Facebook, ¿puede ver todas las tabs instaladas en una página de fans?

Aquí hay una pregunta similar que pregunta sobre la Deautorización de callback: http://facebook.stackoverflow.com/questions/8000163/deauthorize-page-tab-notification

Gracias

Según mis pruebas y de acuerdo con la documentación de Facebook, no necesita un token de acceso de usuario para verificar si está instalada una aplicación (aunque puede usarla). Me pareció más fácil iniciar sesión como tu aplicación. Aquí está el enlace de Facebook que te muestra cómo. Mire la sección llamada “Inicio de sesión de la aplicación”.

En resumen, obtienes un token de acceso a la aplicación con algo como esto en php:

$ access_token = file_get_contents (https://graph.facebook.com/oauth/access_token? client_id = YOUR_APP_ID & client_secret = YOUR_APP_SECRET & grant_type = client_credentials);

Luego puede usar ese token de acceso para obtener la pestaña de datos:

$ app_check = json_decode (file_get_contents (“https://graph.facebook.com/”. FACEBOOK_PAGE_ID. “/ tabs /”. YOUR_APP_ID. “? access_token =”. $ access_token;));

Como puede ver, yo decodifiqué el contenido de ese archivo y luego verifico si esa aplicación existe en la página.

if (! empty ($ app_check-> data)) {

echo “LA APLICACIÓN ESTÁ INSTALADA”; } else {echo “LA APLICACIÓN NO ESTÁ INSTALADA”; }

¡Espero que eso ayude!