【发布时间】:2019-11-01 05:19:42
【问题描述】:
我有一个 ExpressJS,我想从 Google Books api 检索数据。我创建了以下旨在点击https://www.googleapis.com/books/v1/volumes?q=isbn:0743273567的测试请求:
const express = require('express');
var request = require('request');
const auth = require('../middlewares/authenticate');
const User = require('../models/User');
const Book = require('../models/Book');
let router = express.Router();
...
//test get books api example
router.get('/google', async (req, res, next) => {
request({
uri: 'https://www.googleapis.com/books/v1/volumes',
qs: {
api_key: process.env.GOOGLE_API_KEY,
query: 'isbn:9781440346026'
}
}).pipe(res);
});
请求返回的不是关于书的信息:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Required parameter: q",
"locationType": "parameter",
"location": "q"
}
],
"code": 400,
"message": "Required parameter: q"
}
}
【问题讨论】:
-
在您的请求中,您将属性设置为
query。您应该将其更改为值q,这将返回结果。 -
成功了!谢谢。如果您制定为答案,我会接受。
-
我已经发布了作为更好说明的答案
标签: express xmlhttprequest google-books