получить доступ к Google Fit на AndroidWear , вернуть INVALID_ACCOUNT - PullRequest
0 голосов
/ 28 февраля 2020
private void accessGoogleFit() {
        DebugLog.d(TAG,"accessGoogleFit() enter.");
        Calendar cal = Calendar.getInstance();
        cal.setTime(new Date());
        long endTime = cal.getTimeInMillis();
        cal.add(Calendar.YEAR, -1);
        long startTime = cal.getTimeInMillis();

        DataReadRequest readRequest = new DataReadRequest.Builder()
                .aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
                .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
                .bucketByTime(1, TimeUnit.DAYS)
                .build();

        GoogleSignInAccount account = GoogleSignIn
                .getAccountForExtension(this, fitnessOptions);

        Fitness.getHistoryClient(this, account)
                .readData(readRequest)
                .addOnSuccessListener(new OnSuccessListener<DataReadResponse>() {
                    @Override
                    public void onSuccess(DataReadResponse dataReadResponse) {
                        Log.d(TAG, "onSuccess() " + dataReadResponse.getStatus().toString());
                        printData(dataReadResponse);
                        List<DataSet> dataSets = dataReadResponse.getDataSets();
                        if (null != dataSets) {
                            for (DataSet dataSet : dataSets) {
                                Log.d(TAG, "onSuccess() dataSet =" + dataSet.toString());
                            }
                        }
                        List<Bucket> buckets = dataReadResponse.getBuckets();
                        if (null != buckets) {
                            for (Bucket bucket : buckets) {
                                Log.d(TAG, "onSuccess() bucket =" + bucket.toString());
                                for (DataSet dataSet : bucket.getDataSets()) {
                                    Log.d(TAG, "onSuccess() dataSet =" + dataSet.toString());
                                }
                            }

                        }
                    }
                })
                .addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Log.d(TAG, "onFailure() e" + e.getMessage());
                        e.printStackTrace();
                    }
                });
    }
  1. выбрал учетную запись Google
  2. Согласитесь с соглашением Google Fit

и затем журнал ошибок печати консоли: com.google. android .gms. common.api.ApiException: 17: разрешение ошибок было отменено пользователем, исходное сообщение об ошибке: INVALID_ACCOUNT: null

...