2017-02-20 3 views
4

facebook messenger bot을 복제하려고하는데, 계속 request is not defined이됩니다. 페이스 북으로ReferenceError : 요청이 정의되어 있지 않습니다.

같은 코드 :

function callSendAPI(messageData) { 
    request({ 
    uri: 'https://graph.facebook.com/v2.6/me/messages', 
    qs: { access_token: PAGE_ACCESS_TOKEN }, 
    method: 'POST', 
    json: messageData 

    }, function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
     var recipientId = body.recipient_id; 
     var messageId = body.message_id; 

     console.log("Successfully sent generic message with id %s to recipient %s", 
     messageId, recipientId); 
    } else { 
     console.error("Unable to send message."); 
     console.error(response); 
     console.error(error); 
    } 
    }); 
} 

내 노드 server.js은 다음과 같습니다

const express = require('express'); 
const bodyParser = require('body-parser'); 
//const request = express.request; 
const PAGE_ACCESS_TOKEN = 'abc'; 

let app = express(); 

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

// parse application/json 
app.use(bodyParser.json()); 

[...] 

function sendTextMessage(recipientId, messageText) { 
    var messageData = { 
    recipient: { 
     id: recipientId 
    }, 
    message: { 
     text: messageText 
    } 
    }; 

    callSendAPI(messageData); 
} 

function callSendAPI(messageData) {..} 

[...] 

내가 명시 적으로 뭔가를 놓치고 있습니까? 감사합니다

+0

'const request = require ('request')' – hlfrmn

답변

1

이 예제는 third-party Request module을 사용하고 있습니다. 당신이 원하는 경우, require('http').request(),하지만 난 요청 모듈은 매우 일반적이고, 좋은 도구를 사용하는 것을 말할 것입니다 :

또한 지금과 같은 native request를 사용할 수 있습니다.

EDIT 사실, 나는 당신이 당신의 코드에있는 것으로 나타 났지만 주석 처리되었습니다. 더 오래 걸린 후 requestexpress.request을 가리키고, request()처럼 사용하면 기능이 아니기 때문에 오류가 발생합니다. 따라서 실제로는 요청 모듈을 사용하거나 네이티브 http.request을 사용하도록 코드를 조정해야합니다.

+0

예 요청은 기능이 아닙니다. 감사 – Sylar

관련 문제