如何从网页访问 Dialogflow V2 API?
Posted
技术标签:
【中文标题】如何从网页访问 Dialogflow V2 API?【英文标题】:How to access Dialogflow V2 API from a webpage? 【发布时间】:2018-06-20 10:22:56 【问题描述】:我有一个网页,我想在其中使用对话流聊天机器人。这是一个自定义的聊天窗口,所以我不想使用一键集成。我可以使用 javascript/ajax 访问聊天代理 V1 API(通过在请求标头中传递 客户端访问令牌)。
但我不知道如何在 V2 API 中做到这一点。我不清楚对话流文档(我通过引用this 链接设置了身份验证。我不知道如何进一步处理)。我也不熟悉谷歌云。因此,非常感谢您提供工作示例或逐步访问 API 指南的方法。
【问题讨论】:
这个问题在这里好像已经有了答案:***.com/questions/47059976/… ***.com/questions/50545943/… ... 试试这个而不是 require.. 使用 import... 为 Angular 6 工作 Dialogflow easy way for authorization的可能重复 您必须使用 Web 服务器端访问 Dialogflow V2 API。阅读:dialogflow.com/docs/reference/v1-v2-migration-guide-api 有这方面的消息吗? V2似乎无法使用! 【参考方案1】:您可以使用Dialogflow Rest API,您需要使用Google cloud sdk生成访问令牌(范围:云平台,对话框流)
public df_client_call(request)
var config =
headers:
'Authorization': "Bearer " + this.accessToken,
'Content-Type': 'application/json; charset=utf-8'
;
return this.http.post(
'https://dialogflow.googleapis.com/v2/projects/' + environment.project_id +
'/agent/sessions/' + sessionId + ':detectIntent',
request,
config
)
在你必须通过的请求中,
queryInput:
text:
text: action.payload.text,
languageCode: 'en-US',
,
触发事件:,
queryInput:
event:
name: action.payload.event,
languageCode: 'en-US',
,
sessionId
=> 用户的唯一 ID
【讨论】:
以上是关于如何从网页访问 Dialogflow V2 API?的主要内容,如果未能解决你的问题,请参考以下文章
从Dialogflow v1迁移到Dialogflow v2时HTTP请求格式的变化是什么
如何使用 dialogflow.v2beta1 创建默认响应
如何使用简单的ajax jQuery对DialogFlow V2进行http调用?
Dialogflow:在意图中引用输出上下文(即这个NodeJS客户端库的用途是什么?)
如何使用 node.js MySQL 从 MySql DB 获取结果并将它们发送回 API.ai - DialogFlow