Итак, я достаточно новичок в использовании API с Js, но мне очень трудно понять, как работает Google Fit API. Я пытаюсь добавить новые данные тренировки в API, добавляя сеанс и некоторые данные об интенсивности (сердечных пунктах) сеанса. Я могу заставить сеанс отображаться правильно, но постоянно сталкиваюсь с ошибками, когда пытаюсь создать источник данных и добавить к нему точку для сеанса. Мы были бы очень признательны, если бы кто-нибудь мог помочь мне исправить мой код для достижения этой цели или мог бы направить меня к более подробному примеру аналогичного кода, поскольку документы API не кажутся слишком подробными с примерами et c. Заранее спасибо.
Вот 3 вызова API, которые я написал до сих пор: один для создания DataSource, один для DataPoint и один для сеанса. Сеанс работает правильно и добавляет сеанс продолжительностью 1 час для правильной активности, но я не могу заставить работать какие-либо другие запросы API.
Источник данных:
``gapi.client.fitness.users.dataSources.create({
"userId":"me",
"resource": {
"application": {
"name": "LittleWorkouts"
},
"dataType": {"field":[{
"format": "floatPoint",
"name": "com.google.heart_minutes"
}],
"name": "com.google.heart_minutes"
},
"device": {
"manufacturer": "op",
"model": "6",
"type": "phone",
"uid": "1000019",
"version": "1"
},
"type": "raw"
}
})
.then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function(err) { console.error("Execute error 1", err); });
``
Точка данных :
``
gapi.client.fitness.users.dataSources.datasets.patch({
"dataSourceId":"raw:com.google.heart_minutes:292824132082:op:6:1000019",
"userId": "me",
"datasetId": "1592087806561000000-1592287806561000000",
"resource": {
"minStartTimeNs": "1592087806561000000",
"maxEndTimeNs": "1592287806561000000",
"dataSourceId": "raw:com.google.heart_minutes:292824132082:op:6:1000019",
"point": [
{
"startTimeNanos": "1592087806561000000",
"endTimeNanos": "1592287806561000000",
"value": [
{
"fpVal": 89.1
}
],
"dataTypeName": "com.google.heart_minutes"
}
]
}
})
.then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function(err) { console.error("Execute error 2", err); });
``
Сессия:
``gapi.client.fitness.users.sessions.update({
"userId":"me",
"sessionId": "someSessionId19",
"id": "someSessionId19",
"name": "Awesome Workout19",
"description": "A very intense workout",
"startTimeMillis": new Date().getTime() - 3600000,
"endTimeMillis": new Date().getTime(),
"version": 1,
"lastModifiedToken": "exampleToken",
"application": {
"detailsUrl": "http://example.com",
"name": "LittleWorkouts",
"version": "1.0"
},
"activityType": 21,
"activeTimeMillis": 3600000
}).then((res) => {console.log(res)});
console.log('res')
//request.execute((res) => {console.log(res);console.log('executrd')})
console.log(auth2.currentUser.get().getBasicProfile().getGivenName());
var request2 = gapi.client.fitness.users.sessions.list({
"userId":"me"
}).then((res) => {console.log(res)})
``
Сообщение об ошибке
{message: "Невозможно получить источник данных для набора данных: raw: com.google.heart_minutes : 292824132082: op: 6: 1000019 ", домен:" global ", причина:" invalidArgument "}