todavía todavia tienes permisos parchis para necesarios los está esta ella desarrollo configuro aplicación aplicaciones aplicacion acceder ios facebook swift facebook-graph-api parse.com

ios - todavia - Comprobando si el usuario ha modificado el permiso de Facebook para la aplicación



no se configuro la aplicacion. esta aplicacion todavia esta en desarrollo parchis (3)

Estoy usando Facebook para crear un nuevo usuario o iniciar sesión en Parse .

  1. El usuario inicia sesión en la aplicación con el inicio de sesión de Facebook
  2. El usuario es rápido para aceptar los permisos.
  3. El usuario acepta todos los permisos que solicitó la aplicación.

4. Permiso eliminado por el usuario para la aplicación (eliminar la aplicación de Facebook)

Me pregunto cuál es la forma en que podemos verificar si el usuario ha cambiado el estado de autorización de la aplicación en Facebook.

¿Cómo lo verifico? ¿Cómo sabemos que ya no está conectado?

FBSDKAccessToken.currentAccessToken(); no hace el trabajo, ya que solo puede verificar si el token existe o no en el dispositivo.

IE: el usuario va a la configuración de la aplicación de Facebook y elimina la aplicación de la lista.

ps: Por favor, ayuda a votar esta pregunta, ya que es realmente difícil encontrar la solución. ¡¡Gracias!!

Gracias


Creo que puedes encontrar la respuesta que estás buscando aquí:

https://developers.facebook.com/docs/facebook-login/ios/permissions

Usted podría:

1) Compruebe los errores usted mismo:

let token = FBSDKAccessToken.currentAccessToken() if token.hasGranted("publish_actions") //Or whatever other permission you''re checking

2) Realice alguna acción de todos modos y verifique el error:

if error.userInfo[FBSDKGraphRequestErrorGraphErrorCode] == 200 { //Handle missing permissions here }

Supongo que currentAccessToken se almacenaría en la currentAccessToken caché de la última vez que currentAccessToken sesión, por lo que la segunda opción podría ser el camino a seguir.



Manejo de una sesión invalidada

No podemos saber si la sesión de Facebook en caché es válida hasta que intentemos realizar una solicitud a la API. Una sesión puede invalidarse si un usuario cambia su contraseña o revoca los privilegios de la aplicación. Cuando esto sucede, el usuario debe cerrar la sesión. Podemos identificar un error de sesión no válido dentro de un controlador de finalización FBSDKGraphRequest y automáticamente desconectar al usuario.

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]; [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { if (!error) { // handle successful response } else if ([[error userInfo][@"error"][@"type"] isEqualToString: @"OAuthException"]) { // Since the request failed, we can check if it was due to an invalid session NSLog(@"The facebook session was invalidated"); [PFFacebookUtils unlinkUserInBackground:[PFUser currentUser]]; } else { NSLog(@"Some other error: %@", error); } }];

Fuente: Integrar inicio de sesión con Facebook