0

私はこのコードを使用してボットにテストを開始していることを知り、テスターアカウントと管理者アカウントを使用してボットテストを開始しています。管理者やテスターからボットを開こうとした後FB Messengerボットの開始ボタンをクリック

use strict'; 
const express = require('express'); 
const bodyParser = require('body-parser'); 
const request = require('request'); 
const path = require('path'); 


var messengerButton = "<html><head><title>Facebook Messenger Bot</title></head><body><h1>Facebook Messenger Bot</h1>This is a bot based on Messenger Platform QuickStart. For more details, see their <a href=\"https://developers.facebook.com/docs/messenger-platform/guides/quick-start\">docs</a>.<script src=\"https://button.glitch.me/button.js\" data-style=\"glitch\"></script><div class=\"glitchButton\" style=\"position:fixed;top:20px;right:20px;\"></div></body></html>"; 

// The rest of the code implements the routes for our Express server. 
let app = express(); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ 
    extended: true 
})); 

// Webhook validation 
app.get('/webhook', function(req, res) { 
    if (req.query['hub.mode'] === 'subscribe' && 
     req.query['hub.verify_token'] === process.env.VERIFY_TOKEN) { 
    console.log("Validating webhook"); 
    res.status(200).send(req.query['hub.challenge']); 
    setupGetStartedButton(res); 

    } else { 
    console.error("Failed validation. Make sure the validation tokens match."); 
    res.sendStatus(403);   
    } 
}); 





// Display the web page 
app.get('/', function(req, res) { 
    res.writeHead(200, {'Content-Type': 'text/html'}); 
    res.write(messengerButton); 
    res.end(); 
    setupGetStartedButton(res); 
}); 



    function setupGetStartedButton(res){ 
     console.log("i am hereeee"); 

     var messageData = { 
       "get_started":[ 
       { 
        "payload":"HEllo for the first time" 
        } 
       ] 
     }; 

     // Start the request 
     request({ 
      url: 'https://graph.facebook.com/v2.6/me/messenger_profile?access_token=your_access_token', 
      method: 'POST', 
      headers: {'Content-Type': 'application/json'}, 
      form: messageData 
     }, 
     function (error, response, body) { 
      if (!error && response.statusCode == 200) { 
       // Print out the response body 
       res.send(body); 

      } else { 
       // TODO: Handle errors 
       res.send(body); 
      } 
     }); 
    }  

がボタンをアカウントに表示されたことがないとさえメッセージ(私はhereeee午前)あまりにもコンソールに表示されることはありません...コードを意味しても呼び出すことはありません関数。

注:私はグリッチを使用しています。

答えて

0

POSTハンドラが必要です。メッセージはPOST経由でボットに送られます。

app.post('/webhook', function (req, res) { 

    var data = req.body; 
    ... 

hereがあります。あなたはそれが生きているのを見ることができますhere

関連する問題