如何在DialogFlow [以前的api.ai]中使用api调用创建实体

时间:2017-11-08 03:28:41

标签: entities dialogflow

我正在尝试在DialogueFlow中创建一个聊天机器人。在文档中它说

  

您可以为代理商创建自己的实体,可以通过网络表单,以JSON或CSV格式上传,也可以通过API调用。

如何使用API​​调用创建实体?

2 个答案:

答案 0 :(得分:1)

发送POST请求! Dialogflow具有良好的REST端点。

curl -X POST \
'https://api.dialogflow.com/v1/entities?v=20150910' \
-H 'Authorization: Bearer YOUR_DEVELOPER_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data '{
  "entries": [{
      "synonyms": ["apple", "red apple"],
      "value": "apple"
    },
    {
      "value": "banana"
    }
  ],
  "name": "fruit"
}'

来自docs

答案 1 :(得分:0)

这正是我所寻找的。

但我只是花了几个小时谷歌搜索试图发现我怎么能发送这个卷发POST,不幸的是我没有找到任何可以帮助我的东西。

如果有人能在这里发光,我会非常高兴。

一些细节:

  1. 我与我的chatbot通信抛出一个python Flask服务器,这意味着我正在使用python SDK。
  2. 我应该在服务器的哪部分代码中提出此请求?
  3. 以下是我找到的解决方案:

    import os.path
    import sys
    import requests
    import json
    
    DEVELOPER_ACCESS_TOKEN = 'your developer token'
    
    def sending_entities():
       # 1 DEFINE THE URL
       url = 'https://api.dialogflow.com/v1/entities?v=20150910'
    
       # 2 DEFINE THE HEADERS    
       headers = {'Authorization': 'Bearer '+DEVELOPER_ACCESS_TOKEN,'Content-Type': 'application/json'}
    
       # 3 CREATE THE DATA
       data = json.dumps({
         "name": "fruit",
         "entries": [
         {
           "synonyms": ["apple", "red apple"],
           "value": "apple"
         },
         {
           "value": "banana"
         }
       ]
      })
    
      # 4 MAKE THE REQUEST 
      response = requests.post(url,headers=headers,data=data)
      print (response.json)