Что такое "serviceAccountKey.json", о котором идет речь в учебнике по уведомлениям устройства Firebase от устройства к устройству

Мне удалось пройти полную Firebase Android Codelab без особых проблем, приложение отлично работает. Теперь я хотел бы добавить уведомления устройства на устройство. Я нашел этот учебник: И некоторые вещи мне не понятны.

  • В node script есть строка, подобная этой:

var serviceAccount = require("path/to/serviceAccountKey.json");

Что такое файл "ServiceAccountKey.json"? Это просто другое имя для google-services.json? Если нет, что это?

  1. Есть ли простой учебник по "щелчку" по развертыванию кода сервера node в среде Google?

Ответ 1

В сообщении блога, за которым вы следуете, мы запускаем node.js script в гибкой среде Google Cloud App Engine с использованием SDK Firebase Admin. Учетная запись службы - это способ предоставления доверенным процессам доступа к ресурсам Google Cloud Platform и Firebase.

Вы создаете учетную запись службы через Google Cloud Console, а затем загрузите соответствующий файл JSON. Код в сообщении блога ищет этот файл и использует его для инициализации SDK Firebase Admin.

Ответ 2

Спасибо, и продолжая говорить по- французски.. здесь несколько дополнительных наблюдений

1. serviceAccountKey.json - это не фактическое имя файла

Исходя из работы на стороне клиента Android, я подумал, что это фиксированное имя, как google-services.json в Android-проекте. Однако это просто имя владельца места. Файл генерируется с уникальным именем из пользовательского интерфейса Google Web, и это файл для применения, на который ссылается владелец места.


2. Вы можете получить файл только один раз

Просматривая документы, я подумал, что, возможно, вы можете использовать существующую учетную запись службы для получения этого файла. Однако после некоторого осмотра. Я попытался создать новый и в диалоговом окне, который он там дает, флажок сообщает нам, что вы можете получить только этот.json файл один раз - при создании элемента учетной записи службы.

Документы обсуждают создание учетной записи службы, но я не видел особого упоминания о том, чтобы получить этот файл.json.. так что почему это казалось неоднозначным, пока я не увидел этот диалог.

enter image description here


3. Экран, на котором вы добавляете новую учетную запись службы.

В этом пользовательском интерфейсе администратора много чего происходит, в том числе из документов - множество ссылок, чтобы перейти к настройке IAM, ролям и т.д.

Рискуя заявить очевидное (но может помочь кому-то еще приехать сюда быстрее, чем я), - это было представление, в котором я добавляю Service Acct и получаю диалог для загрузки файла.json.

enter image description here

Ответ 3

Взгляните на этот комментарий

fooobar.com/questions/13902758/...

  1. в двух словах, вы создаете файл "serviceAccountKey.json", запрашивая новый закрытый ключ со вкладки учетных записей службы на странице настроек на панели мониторинга Firebase.

  2. Возвращенным частным ключом будет файл.json, который будет вашим файлом "serviceAccountKey.json"... после того, как вы переименуете его как "serviceAccountKey.json",

  3. "путь/в/" - это каталог, в котором вы храните возвращенный json файл, этот каталог должен находиться в вашем проекте firebase

Ответ 4

Это довольно запутанно, но, во-первых, вам придется создать учетную запись службы из Google IAM. Создав учетную запись службы, щелкните правой кнопкой мыши на трех точках и выберите "создать ключ". Он должен указать вам вариант JSON. Загрузите и сохраните его в своем каталоге проекта.