Не удается получить данные из API Google Fit History

Я пытаюсь использовать API истории Google Fit Fit, чтобы разделить шаги, которые я предпринял в течение последней недели. Мое приложение не записывает какие-либо данные, я просто хочу использовать API истории, чтобы получить данные в подходящем магазине. Согласно моей учетной записи на https://fit.google.com/ я сделал 151 шаг 3 дня назад, но когда я пытаюсь получить количество шагов, предпринимаемых каждый день, я получаю результат с 0 наборами данных. Когда я использую следующий код, я получаю 7 блоков, но каждый из них содержит 0 наборов данных. Я думаю, что я должен как-то подойти к этому неправильно, но я не уверен, где.

 private class GetData extends AsyncTask<Void, Void, Void> {
    protected Void doInBackground(Void... params) {
        Calendar cal = Calendar.getInstance();
        Date now = new Date();
        cal.setTime(now);
        long endTime = cal.getTimeInMillis();
        cal.add(Calendar.WEEK_OF_YEAR, -1);
        long startTime = cal.getTimeInMillis();


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

            System.out.println("here");
        DataReadResult dataReadResult =
                Fitness.HistoryApi.readData(mClient, readRequest).await(1, TimeUnit.MINUTES);
        System.out.println(dataReadResult.getBuckets().size());
        System.out.println(dataReadResult.getDataSets().size());

1 ответ

Есть несколько вероятных причин:

1) Вы уже подписались на этот тип данных?

2) Ваше приложение неправильно соединяется с сервисом Google. Вы создали OAuth Client ID из консоли разработки Google? Это обязательное указание Google подключиться к сервису GG Fit (обратите внимание, что, если вы клонируете другое приложение, на том же компьютере или нет, вам нужно заново создать еще один идентификатор клиента OAuth и еще одну вещь, которая вам нужна - 2 отдельных аккаунта). один для входа в Google разрабатывает консоль для создания идентификатора клиента OAuth и один для входа после запуска приложения, и он попросит вас войти, чтобы принять его разрешение,... не уверен, почему это так, но он будет работать)

Примечание. Кстати, вы можете выполнить поиск настроек Google на своем устройстве (Настройки -> Google). Здесь вы можете найти приложение, которое подключается к службе Google (включая службу GG Fit). Я рекомендую вам отключить все и удалить OAuth Client ID, ваше приложение, а затем заново создать их все!

Mttdat.

Другие вопросы по тегам