Документы для REST API Firestore есть по всему магазину, что, я думаю, простительно, так как все еще находится в бета-версии.Похоже, они предлагают, чтобы REST API следовал тем же правилам, что и клиент gRPC, и поэтому, если у пути есть правила, говорящие:
match /thing/* {
allow create;
allow read: if request.auth.uid != null;
}
(скажем, я хочу, чтобы кто-нибудь могдобавить вещи, а затем только проверенных пользователей, чтобы увидеть эти вещи)
тогда я смогу:
curl 'https://content-firestore.googleapis.com/v1beta1/projects/myproject/databases/(default)/documents/things?alt=json' -H 'Content-Type: application/json' -d '{"fields":{"test":{"stringValue": "foo"}}}'
и создать документ в моей коллекции вещей.Но я получаю:
{
"error": {
"code": 403,
"message": "Missing or insufficient permissions.",
"status": "PERMISSION_DENIED"
}
}
Кому-нибудь повезло с этим?Или я просто тот парень со странным сценарием использования?В некоторых документах упоминаются токены API или другие методы аутентификации в облачном хранилище Google.
Последующий вопрос, если для ответа мне нужен сложный аутентификатор, существует ли еще одна хорошо известная стратегия представления REST API в Интернете, которая пишет вFirestore?
edit: я должен также добавить, что та же самая команда POST работает нормально при запуске из браузера API Google в браузере, но когда я это делаю, я аутентифицируюсь.