Microsoft Health Cloud API игнорирует параметр startTime для ежедневных сводок

Я получаю доступ к данным Microsoft Health через его Облачный API. Следуя документации для извлечения ежедневные сводки, Я строю запрос GET с startTime параметр. Хотя я намеревался получить данные за недельный период, API, похоже, игнорирует startTime параметр, и возвращает столько данных, сколько может.

Я использую следующий код для создания ISO 8601 соответствие строки даты, а также выдача HTTP-запроса. httpClient_ имеет тип HttpClient, с цепями IHttpFilter реализация аутентификации OAuth.

IAsyncOperation<hstring> get_summaries()
{
using namespace std::chrono;
constexpr auto day{ 24h };
constexpr auto week{ 7 * day };

auto const end_date{ clock::now() };
auto const start_date{ end_date - week };
auto const formatter{ DateTimeFormatter{ L"{year.full}-{month.integer(2)}-{day.integer(2)}T{hour.integer(2)}:{minute.integer(2)}:{second.integer(2)}Z" } };
auto const start_date_string{ formatter.Format(start_date) };
auto const query{ L"startTime=" + start_date_string };

Uri const request{ L"https://api.microsofthealth.net/v1/me/Summaries/Daily?" + Uri::EscapeComponent(query) };
auto const response{ co_await httpClient_.GetStringAsync(request) };

co_return response;
}

Выполнение этого кода в 2018-06-17 приводит к следующему URL-адресу запроса:

https://api.microsofthealth.net/v1/me/Summaries/Daily?startTime%3D2018-06-10T10%3A18%3A20Z

Я ожидал, что возвращенная строка JSON будет содержать 8 записей, по одной на каждый день в период с 2018-06-10 по 2018-06-17. Это (сокращенно) строка JSON, которую я на самом деле получил:

{
"summaries": [
{
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"startTime": "2018-06-17T02:00:00+02:00",
"endTime": "2018-06-18T02:00:00+02:00",
"parentDay": "2018-06-17T02:00:00+02:00",
...
},
{
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"startTime": "2018-06-16T02:00:00+02:00",
"endTime": "2018-06-17T02:00:00+02:00",
"parentDay": "2018-06-16T02:00:00+02:00",
...
},

...

{
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"startTime": "2018-05-18T02:00:00+02:00",
"endTime": "2018-05-19T02:00:00+02:00",
"parentDay": "2018-05-18T02:00:00+02:00",
...
}
],
"nextPage": "https://api.microsofthealth.net/v1/me/Summaries/Daily?startTime%3d2018-06-10T10%3a18%3a20Z&ct=636621984000000000",
"itemCount": 31
}

Что-то не так с тем, как я получаю доступ к API? Или это ошибка в облачном API, которая еще не указана в Известные вопросы?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]