Я хочу получить определенные данные из Google Firestore.
Можно получить только все данные «Поля». Но нет конкретных данных в полях
Пример запроса GET:
https://firestore.googleapis.com/v1beta1/projects/edubox-49528/databases/(default)/documents/nodes/EduBox-1234567?key=[My_API_KEY]&fields=fields
Как видите, можно получить все предметы в объекте 'Поля'. Но невозможно получить какие-либо подробности, чтобы получить более конкретные данные (test, message, nodeID, ...)
Я уже пробовал:
поля = поля / тест
поля = fields.test
поля = поля (тест)
поля = поля / тест / integerValue
...
Я хочу получить конкретные данные, такие как значение String / integer моих объектов в 'Fields'.
Этот пример должен возвращать integerValue с 30
https://firestore.googleapis.com/v1beta1/projects/edubox-49528/databases/(default)/documents/nodes/EduBox-1234567?key=[My_API_KEY]&fields=fields/test
В этом примере должно возвращаться 30
https://firestore.googleapis.com/v1beta1/projects/edubox-49528/databases/(default)/documents/nodes/EduBox-1234567?key=[My_API_KEY]&fields=fields/test/integerValue
При просмотре Интернета я наткнулся на Google Api Explorer :
https://developers.google.com/apis-explorer/#search/firestore/firestore/v1beta1/
Испытывая некоторые возможности, я наткнулся на это:
https://firestore.googleapis.com/v1/projects/edubox-49528/databases/(default)/documents/nodes/EduBox-1234567?mask.fieldPaths=nodeID&fields=fields&key={YOUR_API_KEY}
Это дает мне правильную информацию
но мне все еще нужна более подробная форма этого ответа, например, 'EduBox-1234567'
Способ получения определенного поля - использовать mask.fieldPaths.Например, следующий метод GET:
mask.fieldPaths
https://firestore.googleapis.com/v1beta1/projects/edubox-49528/databases/(default)/documents/nodes/EduBox-1234567?key=[My_API_KEY]&fields=fields&mask.fieldPaths=nodeID
собирается сделать возврат:
{ "fields": { "nodeID": { "stringValue": "EduBox-1234567" } }
Ссылки на документацию здесь и здесь.