Obtener el número de teléfono de Facebook Account Kit

La documentación del Kit de cuentas indica que si se inició la sesión de inicio de sesión con AccountKitActivity.ResponseType.TOKEN, es posible acceder a la identificación del kit de cuenta, número de teléfono y correo electrónico de la cuenta actual mediante una llamada a getCurrentAccount ().

¿Es posible obtener el número de teléfono del usuario si empezó con AccountKitActivity.ResponseType.CODE al igual que la forma en que Saavn lo hace?

Sí, es posible siempre que use LoginType.PHONE en su configuración.

AccountKit.getCurrentAccount(new AccountKitCallback<Account>() { @Override public void onSuccess(final Account account) { String accountKitId = account.getId(); PhoneNumber phoneNumber = account.getPhoneNumber(); String phoneNumberString = phoneNumber.toString(); } @Override public void onError(final AccountKitError error) { // Handle Error } }); 

Este es su número de teléfono: phoneNumberString; pero, account.getEmail() devolverá null si LoginType.PHONE se usó en su configuración.
Viceversa si utiliza LoginType.EMAIL en su configuración.

El propósito de utilizar CODE en lugar de TOKEN es desplazar la solicitud de token a su servidor de aplicaciones. El servidor utiliza la api de Graph para enviar el token de autenticación y si el token de autenticación es válido, la llamada devuelve el token de acceso que se utiliza para verificar la identidad del usuario para las siguientes llamadas de la API.

Una llamada de gráfico para validar el token de acceso devuelve el ID del kit de cuenta más metadatos adicionales como el número de teléfono asociado y / o correo electrónico.

 { "id":"12345", "phone":{ "number":"+15551234567" "country_prefix": "1", "national_number": "5551234567" } } 

Puede obtener el ID de la cuenta, el correo electrónico y el número de teléfono utilizando el siguiente código:

  let accountKit = AKFAccountKit(responseType: AKFResponseType.accessToken) accountKit.requestAccount { (account, error) in if(error != nil){ //error while fetching information }else{ print("Account ID \(account?.accountID)") if let email = account?.emailAddress,email.characters.count > 0{ print("Email\(email)") }else if let phoneNum = account?.phoneNumber{ print("Phone Number\(phoneNum.stringRepresentation())") } } } 

Si tiene access code/token

En el server o client , puede intercambiar access token para el mobile number and country code con esta FB AccountKit APIhttps://graph.accountkit.com/v1.1/me/?access_token=xxxxxxxxxxxx . Aquí xxxxxxxxxx es su Access Token .

Si tiene auth code/token lugar …

En primer lugar, puede intercambiar el access code de un access token en el server side del server side (porque contiene el secreto de la aplicación ) con esta API : https://graph.accountkit.com/v1.1/access_token?grant_type=authorization_code&code=xxxxxxxxxx&access_token=AA yyyyyyyyyy | zzzzzzzzzz . Aquí xxxxxxxxxx , yyyyyyyyyy y yyyyyyyyyy son el auth code , el app id app secret y el app secret respectivamente. Una vez que tenga el access token con él, puede obtener el mobile number con la API mencionada anteriormente.

Buena suerte.

  • La devolución de llamada de Facebook SDK 3.0 se dispara dos veces
  • Instagram de Android inicie sesión sin utilizar la vista web
  • Actividad de inicio de sesión de Android y redirección de actividad de inicio
  • No se pudo encontrar información sobre el proveedor de com.facebook.katana.provider.AttributionIdProvider
  • Facebook después de iniciar sesión no volver pero preguntar login de nuevo
  • Android Studio no puede iniciar sesión en GitHub
  • Problemas con la función Request.executeMeRequestAsync (session, Request.GraphUserCallback ())
  • Usando ParseFacebookUtils.logInWithReadPermissionsInBackground no guarda los permisos de Facebook Android
  • Subrayar texto debajo de la propiedad de texto
  • Respuesta nula de HTTP Post Request Android
  • 'Solicitud no registrada' mostrada en la pantalla de consentimiento de inicio de sesión de Google+
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.