Deprecated Plus.PeopleApi.load
Ahora que Plus.API
está obsoleto en Google Play Services 9.4
, ¿cuál es la forma correcta de obtener círculos de Google Plus para usuarios autenticados en la aplicación de Android?
Ahora tenemos el método obsoleto de carga más los usuarios Plus.PeopleApi.load
- Obtención de 'E / TokenRequestor: Tiene configuraciones relacionadas con OAuth2 erróneas. Error detallado: INVALID_AUDIENCE 'incluso después de proporcionar identificaciones de cliente precisas
- Google Android de inicio de sesión está parpadeando un pequeño cuadro blanco vacío al iniciar sesión en un usuario
- ¿Cómo obtener un perfil como género de google signin en Android?
- ¿Dónde puedo obtener un google-services.json
- Obtener imagen de perfil de alta calidad de GoogleSignInAccount
Nueva documentación dice:
Si tu aplicación necesita información social y datos de perfil más extensos, consulta el proveedor de contactos de Android o la API People de varias plataformas.
Así que debería ir con el proveedor de contactos de Android que parece ser una alternativa difícil (porque tengo que filtrar contactos con cursores y también gestionar permisos de tiempo de ejecución).
Cualquier alternativa fácil de método anterior obsoleto para obtener sólo Lista de círculos de G + para el usuario?
- Se requiere la autenticación de Google con un servidor de back-end
- Iniciar sesión en Google no funciona
- Android Google SignIn no funciona en modo de depuración: GoogleSignInResult es falso
- Google api gettoken (Context, String, String) ahora está obsoleto
- Plus.PeopleApi.getCurrentPerson obsoleta en los servicios de Play 8.4. ¿Cómo obtener el nombre, apellido y sexo del usuario usando GoogleSignInApi?
- Archivo de configuración de inicio de sesión de Google para varios desarrolladores
- El inicio de sesión de Google no funciona después de publicarse en la tienda de juegos
- Google Sign In no funciona después de publicado en playstore
La API de personas de Google+ finalmente quedará completamente obsoleta 2017 Q1, vea las notas de depreciación más abajo para más detalles:
Anuncio de Android: https://developers.google.com/+/mobile/android/api-deprecation
Anuncio del punto final REST: https://developers.google.com/+/web/people/#retrieve-a-collection-of-people
Por lo tanto, debe considerar alternativas sugeridas y no crear nuevas características basadas en amigos de G + Circle, ya que no habrá datos disponibles para los nuevos usuarios con el ámbito plus.login .
Si no desea solicitar permisos de tiempo de ejecución, aún puede obtener los contactos del usuario que haya iniciado sesión en la API de People REST (Tenga en cuenta que esto es algo diferente de la API de G + People). Además, si necesita información de perfil de usuario que no sea el nombre de usuario, la dirección de correo electrónico y la imagen de perfil (que ya está incluida en la API de inicio de sesión), debe utilizar la misma nueva API de personas.
En Android, cuando necesite los datos de los contactos ( En contexto, explicando al usuario por qué está solicitando su información de contactos NO solicite el alcance de los contactos por adelantado en su actividad de inicio de sesión )
// Add dependencies (SDKs will be downloaded from mavenCentral) compile 'com.google.api-client:google-api-client:1.22.0' compile 'com.google.api-client:google-api-client-android:1.22.0' compile 'com.google.apis:google-api-services-people:v1-rev4-1.22.0'
A continuación, escriba el código de inicio de sesión.
// Make sure your GoogleSignInOptions request email & contacts scopes as shown below GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .requestScopes(new Scope(PeopleScopes.CONTACTS_READONLY))) .build(); // Follow official doc to sign-in. // https://developers.google.com/identity/sign-in/android/sign-in
A continuación, puede utilizar el nuevo People Api para recuperar la lista de contactos.
/** Global instance of the HTTP transport. */ private static HttpTransport HTTP_TRANSPORT = AndroidHttp.newCompatibleTransport(); /** Global instance of the JSON factory. */ private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance(); // On worker thread GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(MainActivity.this, PeopleScopes.CONTACTS_READONLY); credential.setSelectedAccount( new Account(googleSignInAccount.getEmail(), "com.google")); People service = new People.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential) .setApplicationName(APPLICATION_NAME /* whatever you like */) .build(); ListConnectionsResponse response = service.people().connections() .list("people/me") // request 20 contacts .setPageSize(20) .execute(); List<Person> connections = response.getConnections(); if (connections != null && connections.size() > 0) { for (Person person : connections) { List<Name> names = person.getNames(); if (names != null && names.size() > 0) { Log.i(TAG, "Name: " + person.getNames().get(0).getDisplayName()); } else { Log.i(TAG, "No names available for connection."); } List<Gender> genders = person.getGenders(); String ageRange = person.getAgeRange(); List<Birthday> birthdays = person.getBirthdays(); ... } }
- ¿Cómo manejar las solicitudes de permisos fuera de Actividad y Fragmento?
- Esta dependencia me da dos versiones de un frasco. ¿Cómo puedo solucionar esto?