Получить конкретные данные из Google Firestore с помощью вызовов API Rest (HTTP-GET) - PullRequest
1 голос
/ 10 апреля 2019

Задача

Я хочу получить определенные данные из 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, ...)

Tryouts

Я уже пробовал:

  • поля = поля / тест

  • поля = 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

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

Решение

При просмотре Интернета я наткнулся на 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'

0 голосов
/ 06 июня 2019

Способ получения определенного поля - использовать mask.fieldPaths.Например, следующий метод GET:

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"
    }
 }

Ссылки на документацию здесь и здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...