从 Gupshup 访问 Firebase 数据库
Accessing Firebase database from Gupshup
我正在使用 Gupshup 和 Firebase 构建一个机器人。
我想做两个任务:
(i) 我希望存储我与用户的所有对话。
(ii) 当用户打开对话时,我想获取最后 10 个对话。
Gupshup 支持 HTTP GET 和 HTTP POST 方法。
POST方法的代码:
var url3 = "https://My app name.firebaseio.com/Chat.json";
var header3 = {"Content-Type": "application/json"};
var param3 = JSON.parse(res).result.fulfillment.speech; // Parsing Result from NLP tool
context.simplehttp.makePost(url3,JSON.stringify(param3),header3);
GET方法的代码:
context.simplehttp.makeGet('https://My app name.firebaseio.com/Chat.json', function(c,e){
var res = "Sample response from http put method\n"+e.getresp;
context.sendResponse(res);
每次我创建 HTTP POST 以将数据添加到 Firebase 数据库时,都会生成一个实时时间,在该时间下添加数据。
聊天:
-KY4yWKeGKIKPf1qf74G:
"hi"
-KY4yWKfjoztU0EBPe1g:
"Hello. How can I help you?"
-KY4ykQtSus8srqa7okF:
"Okay here is the deal: Buy a pizza today and ge..."
-KY4ykQtSus8srqa7okG:
"show some deals"
当我尝试使用 HTTP GET https://My app name.firebaseio.com/Chat.json 时,返回以下 JSON:
{"-KY4x81jkuxvT9TjDOfk":"Hello. How can I help you?",
"-KY4x81kw8zBoaKwAIe-":"hi","-KY4xAQCFDU7SW8PAEHX":"get",
"-KY4xAR1KEEQNO1KfjnI":"I'm a bit confused by that last part."}
现在如何解析此 JSON 并访问对话并将其呈现给用户?
或者有什么方法可以直接使用 HTTP GET 访问 Child?
提前致谢
You can use the following way to access the keys and the data:
//Parse your JSON if you are getting it using http call using JSON.parse(yourjson);
var json={"-KY4x81jkuxvT9TjDOfk":"Hello. How can I help you?",
"-KY4x81kw8zBoaKwAIe-":"hi","-KY4xAQCFDU7SW8PAEHX":"get",
"-KY4xAR1KEEQNO1KfjnI":"I'm a bit confused by that last part."};
//Getting Keys
var keys=Object.keys(json);
//Getting Conversations
for(var i=0;i<keys.length;i++)
{
console.log(json[keys[i]);
}
我正在使用 Gupshup 和 Firebase 构建一个机器人。 我想做两个任务: (i) 我希望存储我与用户的所有对话。 (ii) 当用户打开对话时,我想获取最后 10 个对话。
Gupshup 支持 HTTP GET 和 HTTP POST 方法。
POST方法的代码:
var url3 = "https://My app name.firebaseio.com/Chat.json";
var header3 = {"Content-Type": "application/json"};
var param3 = JSON.parse(res).result.fulfillment.speech; // Parsing Result from NLP tool
context.simplehttp.makePost(url3,JSON.stringify(param3),header3);
GET方法的代码:
context.simplehttp.makeGet('https://My app name.firebaseio.com/Chat.json', function(c,e){
var res = "Sample response from http put method\n"+e.getresp;
context.sendResponse(res);
每次我创建 HTTP POST 以将数据添加到 Firebase 数据库时,都会生成一个实时时间,在该时间下添加数据。
聊天:
-KY4yWKeGKIKPf1qf74G:
"hi"
-KY4yWKfjoztU0EBPe1g:
"Hello. How can I help you?"
-KY4ykQtSus8srqa7okF:
"Okay here is the deal: Buy a pizza today and ge..."
-KY4ykQtSus8srqa7okG:
"show some deals"
当我尝试使用 HTTP GET https://My app name.firebaseio.com/Chat.json 时,返回以下 JSON:
{"-KY4x81jkuxvT9TjDOfk":"Hello. How can I help you?",
"-KY4x81kw8zBoaKwAIe-":"hi","-KY4xAQCFDU7SW8PAEHX":"get",
"-KY4xAR1KEEQNO1KfjnI":"I'm a bit confused by that last part."}
现在如何解析此 JSON 并访问对话并将其呈现给用户?
或者有什么方法可以直接使用 HTTP GET 访问 Child?
提前致谢
You can use the following way to access the keys and the data:
//Parse your JSON if you are getting it using http call using JSON.parse(yourjson);
var json={"-KY4x81jkuxvT9TjDOfk":"Hello. How can I help you?",
"-KY4x81kw8zBoaKwAIe-":"hi","-KY4xAQCFDU7SW8PAEHX":"get",
"-KY4xAR1KEEQNO1KfjnI":"I'm a bit confused by that last part."};
//Getting Keys
var keys=Object.keys(json);
//Getting Conversations
for(var i=0;i<keys.length;i++)
{
console.log(json[keys[i]);
}