API Google Fit добавляет несколько типов данных в зависимости от области действия
Я использую API Google Fit с несколькими пользовательскими областями. Как я могу добавить несколько типов данных для каждого источника. Если возможно, почему я не могу добавить это как источник данных.
{
"dataStreamName":"MyDataSource",
"type":"derived",
"application":{
"detailsUrl":"http://example.com",
"name":"Foo Example App",
"version":"1"
},
"dataType":[
{
//1st data type
"name":"com.google.step_count.delta",
"field":[
{
"name":"steps",
"format":"int"
}
]
},
{
//2nd data type
"name":"com.google.calories.bmr",
"field":[
{
"name":"calories",
"format":"float"
}
]
}
],
"device":{
"manufacturer":"Example Manufacturer",
"model":"ExampleTablet",
"type":"tablet",
"uid":"1000001",
"version":"1.0"
}
}
И я получил ответ
{
"error": {
"code": 400,
"message": "Invalid JSON payload received. Unknown name \"dataType\" at 'data_source': Proto field is not repeating, cannot start list.",
"errors": [
{
"message": "Invalid JSON payload received. Unknown name \"dataType\" at 'data_source': Proto field is not repeating, cannot start list.",
"reason": "invalid"
}
],
"status": "INVALID_ARGUMENT"
}
}
Но когда я добавляю только одну такую область
{
"dataStreamName":"MyDataSource",
"type":"derived",
"application":{
"detailsUrl":"http://example.com",
"name":"Foo Example App",
"version":"1"
},
"dataType":{
"name":"com.google.step_count.delta",
"field":[
{
"name":"steps",
"format":"integer"
}
]
},
"device":{
"manufacturer":"Example Manufacturer",
"model":"ExampleTablet",
"type":"tablet",
"uid":"1000001",
"version":"1.0"
}
}
Он возвращает мне 200, что является успешным. Я что-то пропустил или то, что пытаюсь сделать, возможно? Спасибо.
Справочник по API Google Fit https://developers.google.com/fit/rest/v1/reference/users/dataSources/create
1 ответ
Решение
Я считаю, что вложение, которое вы пытаетесь сделать, должно происходить на уровне dataField, а не на уровне dataType.
dataType.field[]
Я думаю, это потому, что я заметил, что 'field[]' - это коллекция, а dataType - нет.