php - que - Inicio de sesión en Facebook para miembros del grupo
como ser invisible en facebook 2017 (3)
Bueno, la API de gráficos proporciona esta funcionalidad como dijiste, solo necesitarías permiso del usuario, no facebooks. Como podría comunicar la necesidad y los beneficios de este permiso, solo tendría que escribirlo, en algún lugar cerca de su registro / inicio de sesión. Luego debe especificar los user_groups dentro de la variable de ámbito, que su envío con el método getLoginUrl.
$scope = [''email'', ''user_status'', ''user_groups'']; // it is ''groups'' or ''user_groups''
$login_url = $fqb->auth()->getLoginUrl(''http://my-callback/url'', $scope);
No probé este código, ya que no tengo una instalación a mano, pero de todo lo que acabo de leer, así es como debería funcionar.
Editar: casi olvidado, obtendría los datos de su objeto de Facebook usando la siguiente notación:
$groups = $fqb->object(''me/groups'')->get();
Soy el administrador de un pequeño grupo en Facebook, tiene alrededor de 40-50 miembros. Ahora estoy compilando una página web para el grupo que autorizará a los usuarios que usan Facebook Login (estoy usando Laravel + SammyK LaravelFacebookSDK si eso importa).
Todo funciona bien, aunque hay un problema. Me gustaría restringir el inicio de sesión solo para aquellos que son miembros del grupo de Facebook. La mejor manera sería usar la API / me / groups, pero eso requiere permisos de user_groups
, que están restringidos.
Por supuesto, hay soluciones ''hacky'' como hacer manualmente a cada usuario a un usuario de App Insight o escribir un script que actualiza una base de datos en mi servidor todos los días que contiene la lista de miembros del grupo, pero ¿no hay una manera simple y elegante? ¿para hacer esto?
Dudo mucho que Facebook me permita usar el permiso user_groups
solo para esto.
Parece que solo hay una buena forma de lograr esto:
Aunque /me/groups
requiere el permiso user_groups
para recuperar grupos de los que el usuario es miembro, puede devolver grupos creados por la aplicación sin este (dado que hay un token de acceso válido, por supuesto).
Por lo tanto, aunque claramente no es tan agradable e impecable como yo quería, mi solución fue crear un nuevo grupo de Facebook usando la aplicación (solo requiere una solicitud POST) y mover a los miembros actuales a esta nueva.
Editar : mover miembros no es una posibilidad, unirse a un grupo de aplicaciones solo es posible mediante programación con el SDK. Por lo tanto, cuando un usuario no es miembro de este grupo, les pido que se unan. Significa que todos pueden unirse y tengo que prohibir manualmente aquellos que no me gustan en lugar de permitir manualmente a los que quiero, pero dada la poca publicidad, puedo lidiar con esto.
Sí, esto es bastante "divertido" de implementar. Recuerdo haber podido hacerlo, pero desafortunadamente no tengo ningún código específico para ayudar. Puedo decirte que requerirá múltiples tokens.
Si mal no recuerdo, este es el flujo lógico:
Obtenga el token del usuario.
Luego, el token del grupo usando el token del usuario.
Y luego controlaría los datos que la persona puede enviar al grupo desde su aplicación.