Я не могу получить данные из моего Google-Fit.Я не знаю, как построить этот запрос в C # - PullRequest
0 голосов
/ 04 июля 2019

У меня есть учетные данные, и я был авторизован.Затем я хочу получить данные (например, вес или шаги).https://keestalkstech.com/2016/07/getting-your-weight-from-google-fit-with-c/ Я пробовал этот код, но сначала у меня были проблемы со временем, затем у меня был массив, который может содержать пустые значения, но в моем аккаунте есть вся информация за определенный день (шаги, обновленный вес).Тогда я попытался создать запрос на developers.google.com, но ОШИБКА 400 (Неверный запрос):

#1
{
  "application": {
    "name": "MyCare"
  },
  "dataType": {
    "field": [
      {
        "format": "integerList",
        "name": "steps"
      }
    ],
    "name": "com.google.step_count.delta"
  },
  "device": {
    "manufacturer": "MyCare",
    "model": "xiaomi",
    "type": "phone",
    "uid": "",
    "version": "1.0"
  },
  "type": "derived"
}

#2
{
  "application": {
    "name": "MyCare"
  },
  "dataType": {
    "field": [
      {
        "format": "integerList",
        "name": "weight"
      }
    ],
    "name": "com.google.weight"
  },
  "device": {
    "manufacturer": "",
    "model": "",
    "type": "phone",
    "uid": "",
    "version": "1.0"
  },
  "type": "derived"
}

И я использовал userId "me".Но когда я попытался использовать clientId, с которым я был авторизован, у меня была ОШИБКА 403 «Не авторизовано» ....

Как мне сделать этот запрос или, возможно, есть другие варианты для получения данных в c #.Я использую Google.Apis.Fitness.v1 и создаю фитнес-сервис:

var service = new FitnessService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName});
..}

Я тоже нашел такой способ, но у меня есть массив nullable.Я думаю, что этот путь не является правильным, поэтому помогите мне переделать его:

var service = new FitnessService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName});
            var dataSets = service.Users.Dataset.Aggregate(
    new AggregateRequest
    {
        AggregateBy = new[] {
        new AggregateBy {DataTypeName = "com.google.location.sample"}}
    }, "me")
    .ExecuteAsync();
            var result = dataSets.Result;
        }

Пожалуйста, помогите!Мне нужно сделать это за 3 часа: (((Но у меня есть эта проблема в течение 2 месяцев.

...