ReferenceError:请求未定义 [英] ReferenceError: request is not defined
问题描述
我正在尝试复制 facebook Messenger机器人,但请保留未定义请求
.
Im trying to replicate a facebook messenger bot but keep getting request is not defined
.
与Facebook相同的代码:
Same code as 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);
}
});
}
我的节点 server.js
看起来像这样:
My node server.js
looks like this:
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的东西?谢谢
Am I missing something with express? Thanks
推荐答案
此示例使用了第三-方请求模块.
您还可以使用原生请求,例如: require('http').request()
,如果愿意的话,但是我想说 request 模块非常常见,并且是一个很好的使用工具.
You could also use the native request like so: require('http').request()
, if you want to, but I would say, that the request module is very common, and a good tool to use.
您的 request
指向 express.request
.如果像 request()
这样使用,则会抛出错误,因为它不是函数.因此,您应该真正使用Request模块,或调整代码以使用本机 http.request
.
Your request
, which is commented out, points to express.request
. If used like request()
will throw an error, since it's not a function. So, you should really use the Request module, or adjust the code to use native http.request
.
现在不建议使用请求模块,因此,如果您正在阅读此答案,请使用本机模块或查找流行的第三方库,例如Axios或其他.
The request module is deprecated now, so if you are reading this answer, use the native module or find a popular third-party library like Axios or others.
这篇关于ReferenceError:请求未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!