刚开始使用 Amadeus API,遇到错误代码:NetworkError 的问题。 深入研究错误,我知道了
Error: certificate has expired
是其背后的关键错误。
.env 文件包含 CLIENT_ID 和 CLIENT_SECRET
server.js 文件包含以下代码(忽略其余内容):
const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const methodOverride = require('method-override');
require('dotenv').config();
const path = require('path');
const cors = require('cors');
const app = express();
// Connect to Database
mongoose.connect(process.env.MONGO_URI)
.then(() => {
console.log('MongoDB connected...');
})
.catch(err => {
console.error('Connection error', err.message);
});
// Middleware
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(methodOverride('_method'));
app.use(cors());
// Set EJS as the templating engine
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, '../frontend/views')); // Ensure correct path
// Routes
const hotelRoutes = require('./routes/hotelRoutes');
app.use('/hotels', hotelRoutes);
const Amadeus = require('amadeus');
const amadeus = new Amadeus({
clientId: process.env.CLIENT_ID,
clientSecret: process.env.CLIENT_SECRET,
});
amadeus.referenceData.locations.hotels.byCity.get({
cityCode: 'PAR'
}).then(function (response) {
console.log(response);
}).catch(function (response) {
console.error(response);
});
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));
我收到的错误如下:
Server running on port 5000
MongoDB connected...
NetworkError {
response: Response {
headers: {},
statusCode: undefined,
request: Request {
host: 'test.api.amadeus.com',
port: 443,
ssl: true,
scheme: 'https',
verb: 'POST',
path: '/v1/security/oauth2/token',
params: [Object],
queryPath: '/v1/security/oauth2/token',
bearerToken: null,
clientVersion: '10.1.0',
languageVersion: '21.5.0',
appId: null,
appVersion: null,
headers: [Object],
ListHTTPOverride: [Array]
},
body: '',
result: null,
data: null,
parsed: false
},
description: null,
code: 'NetworkError'
}
这里面临同样的问题,我尝试通过填写支持表格来联系支持人员,但尚未回复,所以我们现在只能等待他们更新证书,是吗?