ExpressJS Google Api响应错误必需参数:q
我有一个ExpressJS,我想从GoogleBooksAPI检索数据。我创建了以下测试请求,旨在命中: 请求返回的不是有关书籍的信息,而是:ExpressJS Google Api响应错误必需参数:q,express,xmlhttprequest,google-books,Express,Xmlhttprequest,Google Books,我有一个ExpressJS,我想从GoogleBooksAPI检索数据。我创建了以下测试请求,旨在命中: 请求返回的不是有关书籍的信息,而是: { "error": { "errors": [ { "domain": "global", "reason": "required", "message": "Required parameter: q", "locationType": "parameter",
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Required parameter: q",
"locationType": "parameter",
"location": "q"
}
],
"code": 400,
"message": "Required parameter: q"
}
}
下面的示例将在访问时使用请求客户端返回响应。请注意,我在qs对象中传递的是值
q
,而不是query
const express = require('express');
const request = require('request');
const app = express();
const port = 3000;
app.get('/google', (req, res) => {
request({
uri: 'https://www.googleapis.com/books/v1/volumes',
qs: {
q: 'isbn:9781440346026'
}
}).pipe(res);
});
app.listen(port);
在您的请求中,属性设置为
query
。您应该将其更改为仅为值q
,这将返回结果。这很有效!谢谢如果你把它表述为一个答案,我会接受。我把它作为一个答案贴出来,以便更好地说明
const express = require('express');
const request = require('request');
const app = express();
const port = 3000;
app.get('/google', (req, res) => {
request({
uri: 'https://www.googleapis.com/books/v1/volumes',
qs: {
q: 'isbn:9781440346026'
}
}).pipe(res);
});
app.listen(port);