У меня есть проект App Engine Standard для веб-перехватчика выполнения API.AI. Пользователи взаимодействуют с моим приложением только через чат (Google Ассистент) — без веб-интерфейса. Таким образом, приложение представляет собой серверную часть чата.
Моему приложению требуется электронная почта пользователя для отправки обновлений. Я читал, что мне нужна привязка аккаунта.
Основываясь на этом ответе в SO, это именно то, что я сделал:
В консоли GCP → API и службы → Учетные данные я создал новый идентификатор клиента OAuth 2.0 с URI авторизованного перенаправления: https://oauth-redirect.googleusercontent.com/r/[my-project-id]< /а>.
В разделе Действия в консоли Google → Связывание аккаунта я выбрал Код авторизации с:
- Client ID and Client secret copied from previous step
- URL-адрес авторизации: https://accounts.google.com/o/oauth2/v2/auth
- URL токена: https://www.googleapis.com/oauth2/v4/token
- Области действия:
profile
иemail
(сначала я поставил полное пространство имен, например,https://www.googleapis.com/auth/userinfo.email
, но оно как-то "укоротилось") - Инструкции по тестированию: созданный мной фиктивный аккаунт Google
В разделе Консоль API.AI → Интеграции → Google Ассистент установлен флажок Для приветствия требуется вход.
Вся установка вроде работает. Вот как это происходит в симуляторе:
- Введено: «Поговори с [моим приложением]».
- Получен ответ с URL-адресом для входа на вкладке отладки
- Скопируйте вставленный URL-адрес, успешный вход в систему, перенаправление на домашнюю страницу Google
- Вернемся к симулятору, напечатаем: Talk to [my app]
- Подключено (код авторизации передается в вызовах веб-перехватчика, и мое приложение может запрашивать электронную почту пользователя)
Две проблемы:
- Почему мне нужно набирать
Talk to [my app]
дважды? - Моя заявка отклонена, потому что «предоставленные вами инструкции по тестированию либо работали неправильно, либо были недостаточно содержательными. Пожалуйста, убедитесь, что вы предоставляете все необходимое для тестирования вашего приложения, и что все предоставленные вами учетные данные работают правильно».
Где я ошибся?
РЕДАКТИРОВАТЬ: я пытался использовать Android 6, он говорит: «Похоже, ваша учетная запись [проекта] еще не связана», и есть кнопка для связи. При нажатии он показывает селектор учетной записи Google, но щелчок по нему ничего не делает (и не запрашивает мой сервер).