Не удается получить данные из 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.