Что такое "serviceAccountKey.json", о котором идет речь в учебнике по уведомлениям устройства Firebase от устройства к устройству
Мне удалось пройти полную Firebase Android Codelab без особых проблем, приложение отлично работает. Теперь я хотел бы добавить уведомления устройства на устройство. Я нашел этот учебник:
И некоторые вещи мне не понятны.
- В node script есть строка, подобная этой:
var serviceAccount = require("path/to/serviceAccountKey.json");
Что такое файл "ServiceAccountKey.json"? Это просто другое имя для google-services.json? Если нет, что это?
- Есть ли простой учебник по "щелчку" по развертыванию кода сервера 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/...
-
в двух словах, вы создаете файл "serviceAccountKey.json", запрашивая новый закрытый ключ со вкладки учетных записей службы на странице настроек на панели мониторинга Firebase.
-
Возвращенным частным ключом будет файл.json, который будет вашим файлом "serviceAccountKey.json"... после того, как вы переименуете его как "serviceAccountKey.json",
-
"путь/в/" - это каталог, в котором вы храните возвращенный json файл, этот каталог должен находиться в вашем проекте firebase
Ответ 4
Это довольно запутанно, но, во-первых, вам придется создать учетную запись службы из Google IAM. Создав учетную запись службы, щелкните правой кнопкой мыши на трех точках и выберите "создать ключ". Он должен указать вам вариант JSON. Загрузите и сохраните его в своем каталоге проекта.