Firebase Cloud Firestore - Ошибка записи через REST API - PullRequest
0 голосов
/ 06 февраля 2020

Это не ошибка аутентификации, запись включена в правилах базы данных. Моя облачная база данных Firestore выглядит как на картинке ниже. Существует КОЛЛЕКЦИЯ, называемая colA, внутри нее есть ДОКУМЕНТ, называемый docA, и внутри него хранятся некоторые поля (строки).

enter image description here

Вкл. Почтальон, если я получу GET https://firestore.googleapis.com/v1/projects/eletronica-ab6b1/databases/(default)/documents/colA/docA, я получу следующий ответ, и он правильный:

{
  "name": "projects/eletronica-ab6b1/databases/(default)/documents/colA/docA",
  "fields": {
    "fieldB": {
      "stringValue": "ABCD"
    },
    "fieldA": {
      "stringValue": "888"
    }
  },
  "createTime": "2020-01-31T16:48:26.859181Z",
  "updateTime": "2020-02-05T19:21:49.654340Z"
}

Теперь, когда я пытаюсь написать новое поле (поле C) через POST https://firestore.googleapis.com/v1/projects/eletronica-ab6b1/databases/(default)/documents/colA/docA, с JSON содержанием:

{
  "name": "projects/eletronica-ab6b1/databases/(default)/documents/colA/docA",
  "fields": {
    "fieldC": {
      "stringValue": "1000"
    }
  }
}

После отправки, я получаю это:

{
  "error": {
    "code": 400,
    "message": "Document parent name \"projects/eletronica-ab6b1/databases/(default)/documents/colA\" lacks \"/\" at index 60.",
    "status": "INVALID_ARGUMENT"
  }
}

Что я делаю не так? Я действительно хотел бы написать строки через REST API. Привет.

1 Ответ

1 голос
/ 06 февраля 2020

Обновление документа выполняется с помощью запроса PATCH, согласно [справочной документации).

Запрос POST используется для создания нового документа в коллекции, что, вероятно, объясняет ошибку вы получаете: вы указываете на документ, но POST ожидает путь к коллекции.

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