Когда я следовал этому руководству: https://blog.jscrambler.com/build-a-chatbot-with-dialogflow-and-react-native/ У меня возникла ошибка в методе handleGoogleResponse(), поскольку результат.queryResult не определен. Если я отправлю сообщение от имени пользователя, ответ от Dialogflow не будет получен и возвращен пользователю.
Что означает эта строка кода в методе handleGoogleResponse()?
let text = result.queryResult.fulfillmentMessages[0].text.text[0];
Что такое result.queryResult? Что мне делать, поскольку result.queryResult не определен?
Я заметил, что как только я открываю экран чат-бота, моя консоль показывает: генерация jwt для объекта {\n электронная почта: интегрировать-диалогфлоу@mt-bot-wkgm.iam.gserviceaccount.com,\n ключ: ..... с ключом информация для моего сервисного аккаунта. Это означает, что он может прочитать мой файл env.js?
Изменить:
console.log(результат) возвращает [объект Объект]
console.log(result.responseID) возвращает значение undefined
console.log(result.queryResult) возвращает значение undefined
console.log(result.webhookStatus) возвращает неопределенное значение
console.log(result.outputAudio) возвращает значение undefined
console.log(result.outputAudioConfig) возвращает неопределенное значение
console.log(JSON.stringify(результат)) возвращает
{ошибка:{код:401,сообщение:В запросе указаны неверные учетные данные для аутентификации. Ожидаемый токен доступа OAuth 2, файл cookie для входа или другие действительные учетные данные для аутентификации. См. https://developers.google.com/identity/sign-in/web/devconsole-project.%22,%22status%22:%22UNAUTHENTICATED%22%7D%7D
result
и проверить, имеет ли оно значение? Если у него нет значения, это означает, что вы не можете правильно передать значение из своего приложения в диалоговый поток в функцииonSend()
. - person Ricco D   schedule 06.07.2021result
. Проверьте как отобразить весь объект в консоли в React Native. Отредактируйте свой пост и включите содержимое объекта. Вы должны получить структуру данных, которая выглядит следующим образом: cloud.google. com/dialogflow/es/docs/reference/rest/v2/, так как серверная часть react-native-dialogflow просто вызываетdectectIntent
через HTTP-запрос из API диалогового потока. - person Ricco D   schedule 07.07.2021console.log(JSON.stringify(result));
, который является тестом, выполненным по ссылке Stackoverflow, которую я упоминал в своем предыдущем комментарии. - person Ricco D   schedule 08.07.2021dialogflowConfig
. Если вы считаете, что смогли указать правильные учетные данные, и это не сработает, я предлагаю попробовать создать новую учетную запись службы и использовать ее для аутентификации и проверить, будет ли она работать. - person Ricco D   schedule 09.07.2021