0

Gupshup과 Firebase를 사용하여 봇을 만들고 있습니다. 두 가지 작업을 수행하고 싶습니다. (i) 모든 대화를 사용자에게 저장하고 싶습니다. (ii) 사용자가 대화를 열면 마지막 10 개의 대화를 가져 오려고합니다.Gupshup에서 Firebase 데이터베이스에 접근하기

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를 할 때마다, 실시간가 발생 그 아래에서 데이터가 추가됩니다.

채팅 :

-KY4yWKeGKIKPf1qf74G :

"안녕하세요"

-KY4yWKfjoztU0EBPe1g :

". 안녕하세요 무엇을 도와 드릴까요?"

-KY4ykQtSus8srqa7okF :

"자 여기 거래입니다 ... 오늘과 GE의 피자를 주문"

는 -KY4ykQtSus8srqa7okG :

I "를 일부 거래를 보여" 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에 액세스 할 수있는 방법이 있습니까? 사전에

감사

답변

1
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]); 
    }