我正在尝试复制 facebook messenger bot但不断收到 request is not defined
。
与 facebook 相同的代码:
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);
}
});
}
我的 Node 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) {..}
[...]
我是不是遗漏了什么 express ?谢谢
最佳答案
这个例子使用了third-party Request module .
您还可以使用 native request像这样:require('http').request()
,如果你愿意,但我要说的是,request 模块很常见,也是一个很好的工具使用。
你的request
,被注释掉了,指向express.request
。如果像 request()
这样使用会抛出错误,因为它不是函数。所以,你应该真正使用 Request 模块,或者调整代码以使用原生 http.request
。
2020 年更新
请求模块现已弃用,因此如果您正在阅读此答案,请使用 native 模块或查找流行的第三方库,如 Axios 或其他。
关于node.js - 引用错误 : request is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42351983/