Obtener la casa del usuario, el trabajo y las ubicaciones con estrellas como Google Inbox no

Cuando estás en la bandeja de entrada de Google, vas a suspender un mensaje y selecciona "Elegir lugar", muestra una lista con tu dirección de casa y de trabajo (de Google Now), así como las ubicaciones destacadas de tu perfil de Google Maps. Otras aplicaciones de Google, como Keep, también ofrecen funcionalidad similar.

Me gustaría implementar esto en mi aplicación, pero no pude encontrar la API correcta que expone esa información. ¿Es eso algo que Google no expone a terceros (supongo que hay espacio para el abuso allí)?

Si no es así, ¿cómo puede implementarse esto? ¿Qué API tiene los datos?

Introduzca aquí la descripción de la imagen

Google Now utiliza analíticas en los datos de ubicación (en todos y cada uno de los dispositivos que están registrados en los servicios de ubicación de Google + habilitados en la configuración de su cuenta de Google) para determinar las ubicaciones de su hogar y trabajo, a menos que las establezca específicamente.

El almacenamiento / recuperación de estos datos no se hace referencia explícita en ninguna parte que he encontrado en la documentación oficial de Google, pero el esquema de Google Now para estos datos está disponible aquí: Google Schema – Persona

Para cualquier entidad de una homeLocation workLocation , existe una propiedad de workLocation homeLocation y workLocation con esos datos.

Si tiene un usuario autenticado, puede realizar una llamada de API como se describe aquí (con ejemplos) para obtener cualquiera de los campos especificados para el usuario actual (incluyendo CurrentLocation, organizaciones (incluyendo trabajo) con direcciones, si el usuario las ha proporcionado).

Una anterior pregunta de SO que las referencias usando oAuth y primas de Google Maps url de alimentación para extraer los datos existe, pero la respuesta aceptada es algo confuso y cuando seguí los enlaces y intentó autenticado para probarlo, recibí 404 errores de todos ellos: Ubicaciones de acceso en Mis sitios de una cuenta determinada a través de la API de Google Maps

También como en un foro de productos de Google publicado aquí hace varios años, una versión anterior de la API de datos de Google Maps permitía el acceso a Mis sitios , que es esencialmente exactamente lo que necesita, pero se desaprovechó y se eliminó en 2013.

Por último, y este es el mejor enfoque en mi opinión, y puede ser lo que Google utiliza (si no se declara Google Now), que es la API de Contactos de Google. Un usuario existe en su propia lista de contactos y la extensa API de Contactos de Google le permite obtener / establecer direcciones con etiquetas estándar como casa o trabajo para el usuario.

Todo esto se detalla aquí: Servicios de contacto de Google – Scripts de aplicación

Aquí está la API para obtener las direcciones de los usuarios

https://developers.google.com/android/reference/com/google/android/gms/identity/intents/Address

 mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Address.API, new Address.AddressOptions()) .build(); mGoogleApiClient.connect(); ... Address.requestUserAddress(mGoogleApiClient, UserAddressRequest.newBuilder().build(), REQUEST_CODE); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { ... UserAddress address = UserAddress.fromIntent(data); } 

En dependencias

 compile 'com.google.android.gms:play-services-identity:7.8.0' 

No hay direcciones de trabajo ni de casa aquí, y no entiendo qué tipo de direcciones utiliza. Pero parece que todas las direcciones de usuario deben estar aquí.

  • Cómo obtener el evento de clic del texto del marcador
  • Cómo especificar el tamaño del icono en el Marcador en Google Maps V2 Android
  • Guardar marcadores en Android google maps v2
  • ¿Es posible crear una aplicación de navegación GPS turn-by-turn en Android con Google Maps?
  • Android: automáticamente elige debug / release Maps clave api?
  • GoogleMap necesita activación?
  • Cómo convertir un dibujable en un mapa de bits para cambiar el color de un marcador en Google Maps Android API v2
  • Error de inicialización de Google Map v2 en el mecanismo de dex secundario android
  • Google Maps API V2 Zoom a la ubicación actual
  • Instalar la configuración de Google en el emulador HAXM x86 (Google Maps SDK)
  • Error al buscar el estilo mapViewStyle
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.