试图从我创建的对话框聊天机器人中检索数据我得到401错误

时间:2018-02-04 19:26:54

标签: firebase dialogflow

我是使用dialogflow的新手。我已经创建了一个基本的聊天机器人来测试我通过api创建的响应。我有我的POST工作,但GET没有得到我想要的数据,并给了我401并停止工作。

我不确定我的代码是否朝着正确的方向发展。研究并没有太大帮助。

这个想法是用户进入网站 - 我创建了 - 并且可以与聊天机器人进行交互。这是非常基本的。我已经设置了我的实体和意图,代理已经过培训并在我进行演示时工作。我只是希望能够对我的网站做同样的事情。

我正在使用firebase存储用户响应和代理响应。

var config = {
    apiKey: "AIzaSyChQLuBa0Owj-Zbnpk8_uMcIYAmFz4dFj8",
    authDomain: "chatbot-53c37.firebaseapp.com",
    databaseURL: "https://chatbot-53c37.firebaseio.com",
    projectId: "chatbot-53c37",
    storageBucket: "chatbot-53c37.appspot.com",
    messagingSenderId: "434930699010"
};
    firebase.initializeApp(config);

var database = firebase.database();


// End Firebase Initialize 
===================================================

// Add data to Firebase


var keyWord = "none";

var accessToken = "2d39bfb1417c41a1b31dba35018c1b74"; // Done
var baseUrl = "https://api.dialogflow.com/v1/";

// Stuff we get from the user responding to the chatbot 
=========================
var text; // user's input
var name; // user's name

var lang = '&lang=en'; 
var query = "What time is it?";

var sessionID = Math.floor(Math.random() * 10000000);

var connected = database.ref(".info/connected");


// Get initial message from bot "Hi Whats your name" 
============================================================


$.ajax({
    type: "GET",
    url: baseUrl + "query?v=20150910&e=event_name" + lang + '&query=' + 
    query + '&sessionId=' + sessionID,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
}).done(function(response) {

// console.log(response);
// console.log(response.result.fulfillment.speech);


}).fail(function(err) {

    throw err;
});

1 个答案:

答案 0 :(得分:2)

Dialogflow的GET和POST查询需要不同类型的请求:

  • GET要求参数为URL编码
  • POST要求参数包含在请求正文中

另请注意,您需要为Firebase功能启用结算才能执行外发网络请求。

来源