尝试从我创建的 dialogflow 聊天机器人中检索数据时出现 401 错误

Trying to retrieve data from dialogflow chatbot I have created I get a 401 error

我是 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;
});

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

  • GET 要求对参数进行 URL 编码
  • POST要求请求体中包含参数

另外请注意,您需要为 Firebase 功能启用计费功能才能执行传出网络请求。

来源