【发布时间】:2023-03-13 00:51:01
【问题描述】:
'use strict'
var express = require('express');
var bodyParser = require('body-parser');
var request = require('request');
var awsServerlessExpressMiddleware = require('aws-serverless-express/middleware');
var app = express();
var port = process.env.PORT || 5000;
var VALIDATION_TOKEN = 'Serverless_My_Token';
app.set('port', (port));
// Process application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended: true}));
app.use(awsServerlessExpressMiddleware.eventContext());
// Process application/json
app.use(bodyParser.json());
// for Facebook verification
app.get('/webhook/', function (req, res) {
var jsonObject = JSON.parse(req.rawHeaders[1]);
if (jsonObject.params.querystring['hub.verify_token'] === 'serverless_my_token') {
var hubChallenge = jsonObject.params.querystring['hub.challenge'];
return res.send(hubChallenge);
}
res.send('Error, wrong token')
});
当调用 get API res.send 是发送整个响应对象,
{
"statusCode": 200,
"body": "",
"headers": {
},
"isBase64Encoded": false
}
我只需要发送 hubChallenge 变量作为响应:
hub.challenge number:示例:245421998 作为响应。
我怎样才能只让 hubchallenge 变量作为响应而不是包含状态的整个对象返回。等等。
错误:
The URL couldn't be validated. Response does not match challenge, expected value="245421998", received="{\"statusCode\":200,..."
【问题讨论】:
-
你在客户端使用 angular $http 吗?在那种情况下this answer might help you
标签: node.js request response aws-lambda facebook-chatbot