#php #firebase #google-cloud-firestore
#php #firebase #google-облако-firestore
Вопрос:
Я использую Firebase Firestore для одного из моих мобильных приложений. Мне нужно что-то прочитать с какого-то внешнего сайта и обновлять / перезаписывать одно поле Firestore каждый понедельник в определенное время. Прямо сейчас я делаю это вручную. Я хочу автоматизировать этот процесс.
У меня есть PHP-приложение с Cpanel. Я хочу иметь задание CRON, которое будет обновлять это поле каждый понедельник. Я планирую использовать вызовы REST для Firestore для обновления поля, но не могу выполнить часть аутентификации…
Я также создал учетную запись службы для своего приложения и загрузил файл project-name-xxxx.json с закрытым ключом. У меня также есть API-КЛЮЧ. Но не зная, как использовать оба из них для аутентификации и обмена данными. Сейчас я пытаюсь использовать Postman, но безуспешно.
Может ли кто-нибудь сказать мне, как я могу пройти аутентификацию с помощью REST API, подав в суд на API-КЛЮЧ и json-файл, которые у меня есть.
Спасибо за ваше время
Ответ №1:
Хорошо, итак, есть два способа сделать это.
-
Запрограммируйте облачную функцию, задайте в ней нужное поле и вызовите ее из клиентского SDK с аутентифицированным пользователем в системе, или
-
На вашем удаленном сайте установите Node Admin SDK и используйте там учетную запись службы для прямого подключения к firestore и обновления поля.
Комментарии:
1. Я думаю, что облачная функция лучше. Проще.
2. Спасибо, что уделили мне время. Поскольку мне нужно каждый раз обновлять только одно поле, я просто передаю значение в качестве параметра запроса облачной функции firebase на основе http, и это сработало. Я все еще сталкиваюсь с проблемой настройки клиентского SDK или node Admin SDK на моем php-сервере…
3. Без проблем. Да, итак, для начала, я думаю, что нет PHP Admin SDK, поэтому вам нужно установить Node и запустить код оттуда, я сделал это, но у меня нет образца под рукой; клиентский SDK для Web — это Javascript для запуска в браузере.