Как я могу получить доступ к пользовательским данным, хранящимся в firebase, с помощью google assistant?

У меня есть некоторые пользовательские данные, хранящиеся в Firebase в users/userID/data

Я использую Dialogflow, чтобы распознать, например, следующее намерение:

retrieve my email

который запускает веб-перехватчик и передает в качестве параметра email данные, которые пользователь хочет получить. Как передать идентификатор пользователя firebase? Думаю, мне нужно реализовать какое-то ведение журнала для Google Assistant, но я не могу найти, как связать учетную запись пользователя Firebase с действиями Google и как мне получить этот идентификатор пользователя firebase

Есть ли стандартный или рекомендуемый способ добиться этого?

0
0
305
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

На данный момент для этого нет готового решения.

Вам нужно будет реализовать Связь с аккаунтом с помощью Google Assistant. Это было сделано таким образом, чтобы предоставить вам и вашим пользователям максимальную гибкость. Вы сможете аутентифицировать их, используя различные методы, а не только Google Auth, и пользователи могут использовать для вас идентификатор Google, который может отличаться от того, который они используют для Ассистента. Привязка учетных записей свяжет их, не раскрывая вам, какую учетную запись они используют в Ассистенте.

Это означает создание сервера OAuth, который позволяет пользователям входить в систему, используя свою учетную запись Firebase, и выдавать токены Ассистенту. Google предоставляет некоторую информацию о процедура, которой вы должны следовать при создании вашего сервера OAuth, и вы должны иметь возможность создать его, используя Firebase Hosting и Firebase Cloud Functions.

Затем, каждый раз, когда Ассистент вызывает ваше действие, он отправляет вам токены. Вы могли бы использовать этот токен для определения идентификатора пользователя Firebase, а затем найти его в базе данных.

Итак, этот сервер OAuth будет связывать сгенерированные токены с идентификатором пользователя Firebase? Вы знаете какие-либо ресурсы о том, как я могу это реализовать? Большое спасибо за ответ!

Blasco 12.04.2018 11:15

Можно ли реализовать это с помощью облачных функций для Firebase?

Blasco 12.04.2018 11:23

Кроме того, что происходит, когда они используют свою учетную запись Google для входа в firebase? Разве это не лишнее?

Blasco 12.04.2018 11:26

Ответ обновлен, чтобы дать вам ссылку на руководство Google по реализации OAuth, подтверждающее, что вы можете сделать это с помощью облачных функций Firebase (у меня есть), и почему это делается таким образом, а не просто использовать их учетную запись Google.

Prisoner 12.04.2018 16:36

Другие вопросы по теме

Похожие вопросы

Вставить данные в базу данных реального времени не работает
Есть ли способ предотвратить загрузку дублированного изображения с телефона в приложение?
Как объединить два запроса в firestore и отсортировать их по времени
Эмулятор аутентификации firebase: невозможно создать пользователя в эмуляторе firebase с помощью внутреннего кода
Можно ли делать запрос с обратными вызовами в функции преобразователя redux?
Белый пустой экран, когда я пытаюсь использовать authprovider и useauth (react + firebase)
Невозможно прочитать файл лицензии license для спецификации firebase (7.9.0)
Есть ли способ, которым мы можем извлечь дату и время из объекта отметки времени из хранилища firebase в студии android
Каким будет решение, если мой ключ api действителен и подходит, но студия android все еще показывает ошибку, пожалуйста, передайте действительный ключ api во флаттере?
Как я могу получить определенные пользовательские данные из firestore в react