Lectura de peso con Google Fit

Puedo conectarme a Google Fit y leer los datos de peso, pero no todos los datos que puedo ver en Google Fit Web. Creo que algo está mal con datasources pero no estoy seguro. El código de lectura es:

Instant endTime = Instant.now(); Instant startTime = DateTime.now().minusYears(10).toInstant(); DataReadRequest readRequest = new DataReadRequest.Builder () .setTimeRange (startTime.getMillis(), endTime.getMillis(), TimeUnit.MILLISECONDS) .read (DataType.TYPE_WEIGHT) .build (); DataReadResult dataReadResult = Fitness.HistoryApi.readData(MyApp.mClient, readRequest).await (1, TimeUnit.MINUTES); 

https://developers.google.com/fit/rest/v1/authorization#OAuth2Autorización

DataType.TYPE_WEIGHT debe ser autorizado por un Scopes.FITNESS_BODY_READ autenticado

  mClient = new GoogleApiClient.Builder(this) .addApi(Fitness.HISTORY_API) .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)) .addScope(new Scope(Scopes.FITNESS_BODY_READ)) .addScope(new Scope(Scopes.FITNESS_BODY_READ_WRITE)) .addConnectionCallbacks( new GoogleApiClient.ConnectionCallbacks() { @Override public void onConnected(Bundle bundle) { Log.i(TAG, "Connected!!!"); // Now you can make calls to the Fitness APIs. What to do? // Look at some data!! new InsertAndVerifyDataTask().execute(); } @Override public void onConnectionSuspended(int i) { // If your connection to the sensor gets lost at some point, // you'll be able to determine the reason and react to it here. if (i == ConnectionCallbacks.CAUSE_NETWORK_LOST) { Log.i(TAG, "Connection lost. Cause: Network Lost."); } else if (i == ConnectionCallbacks.CAUSE_SERVICE_DISCONNECTED) { Log.i(TAG, "Connection lost. Reason: Service Disconnected"); } } } ) .enableAutoManage(this, 0, new GoogleApiClient.OnConnectionFailedListener() { @Override public void onConnectionFailed(ConnectionResult result) { Log.i(TAG, "Google Play services connection failed. Cause: " + result.toString()); Snackbar.make( MainActivity.this.findViewById(R.id.main_activity_view), "Exception while connecting to Google Play services: " + result.getErrorMessage(), Snackbar.LENGTH_INDEFINITE).show(); } }) .build(); 
  • Plugin de Android con Google Fitness API para Unity3D
  • Contador de pasos Google FIT API
  • Acceso a Android Wear Fit Data
  • ¿Qué pasos hay con respecto a las actividades de acondicionamiento físico?
  • Obteniendo Google Fit Data en la aplicación Android
  • Leer la altura de GoogleFit en Android
  • Contador de pasos en Android: ¿siempre activado?
  • ¿Cómo es posible que la aplicación Google Fit mide el número de pasos todo el tiempo sin drenar la batería?
  • El recuento de pasos recuperado a través de Google Fit Api no coincide con el recuento de pasos mostrado en la aplicación oficial de Google Fit
  • Tienes problemas para conectarte a Google Play Services; Obtener el código de estado Cancelado
  • ¿Eliminado Fitness.API en Google Play Services 7.0?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.