如何解决将 Dialogflow v2 与 angular 11 集成
我正在应用程序网站中使用 dialogflow,但现在已停止
readonly toKen = environment.dialogFlow.chatbotAngular;
readonly client = new ApiAiClient({accesstoken : this.toKen});
conversation = new BehaviorSubject<Message[]>([])
constructor()
{
const botMessage = new Message('Bienvenue dans votre univers du chatbot,' +
' puis-je vous aider ?','bot','./assets/media/Awb/chatbot.gif','botcolor');
this.update(botMessage);
}
playAudio()
{
let sound = new Audio();
sound.src = './assets/media/to-the-point-568.ogg';
sound.load();
sound.play();
}
update(msg : Message)
{
this.conversation.next([msg])
}
converse(msg : string)
{
const userMessage = new Message(msg,'user','./assets/media/users/icon-5359553_1280.png','usercolor');
this.update(userMessage);
return this.client.textRequest(msg).then(res =>{
setTimeout(()=>{
const speech = res.result.fulfillment.speech;
const botMessage = new Message(speech,'botcolor');
this.update(botMessage);
this.playAudio();
},5000);
})
}
ERROR 错误:未捕获(承诺):ApiAiRequestError:Dialogflow V1 API 正在关闭,无法再查询。详情请见 https://cloud.google.com/dialogflow/docs/release-notes#June_15_2021。代码:400
解决方法
如错误消息中所述,您遇到此问题是由于 Dialogflow V1 API 关闭。这样,您需要将代理迁移到 Dialogflow ES 或 Dialogflow CX 才能继续使用 Dialogflow。
您似乎想迁移到使用 V2 API 的 Dialogflow ES。请注意,Dialogflow V1 API 的请求正文与 Dialogflow V2 API 不同。
例如,您可以检查此 request body 以获取 V2 REST API 的 detectIntent 方法,它等效于 V1 API 的 /query 方法。
您还可以查看适用于 Dialogflow V2 API 的 client libraries,并查看它们各自的参考文档和相关资源以获取安装和指导。
对于 webhook,您可以查看以下文档,了解请求和响应的正确格式。
对于 Angular 应用程序,您可以查看此 discussion 和 article,了解如何通过 Dialogflow V2 API 实现和使用它。
此外,请注意,在 V1 API 身份验证过程中使用的客户端访问令牌和开发人员访问令牌不再用于或可用于 V2 API。
相反,与 Dialogflow V2 API 的交互取决于服务帐户的使用。您可以访问以下链接以获取有关设置服务帐户以将可能与 Dialogflow 的 API 交互的任何服务迁移到 V2 的身份验证方法的进一步指导:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。