获取 200 作为状态代码,但 api 的响应为空白
Getting 200 as status code but blank response from api
我试图使用 nodejs 请求从一个 api 调用的关键字请求数据,他们的文档没有关于 nodejs 的任何内容,但他们确实有 bash 所以我所做的是我转换了他们的bash 到 nodejs 请求。有关更多上下文,这是他们的文档:
https://api.keywordseverywhere.com/docs/#/keywords/get_keywords_data
我的代码似乎可以工作,因为它 return 的状态代码是 200,但问题是它 return 是一个空白数据:
{
"data": [],
"credits": 93735,
"time": 0
}
如果请求成功,它应该return像这样:
{
"data": [
{
"vol": 390,
"cpc": {
"currency": "$",
"value": "5.51"
},
"keyword": "keywords tool",
"competition": 0.33,
"trend": [
{
"month": "May",
"year": 2019,
"value": 480
}]
},
"credits": 95597600,
"time": 0.02
}
我猜我的代码有问题,因为我使用了一个转换器,它没有正确读取正文请求。这是我的代码:
var headers = {
'Authorization': 'Bearer (API-KEY-HERE)',
'Accept': 'application/x-www-form-urlencoded'
};
var options = {
url: 'https://api.keywordseverywhere.com/v1/get_keyword_data',
method: 'POST',
headers: headers,
body: 'dataSource=gkp&country=us¤cy=USD&kw[]=keywords&kw[]=keyword'
};
function callback(error, response, body) {
console.log(response.body)
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request.post(options, callback);
你的代码的问题是正文,无论如何代码应该是这样的:
const request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.keywordseverywhere.com/v1/get_keyword_data',
'headers': {
'Authorization': 'Bearer insertAPIKeyHere'
},
formData: {
'kw[]': 'keyword',
'country': 'us',
'currency': 'usd',
'dataSource': 'gkp'
}
};
request(options, function (error, response) {
if (error){console.log(error)};
console.log(response.body);
});
我试图使用 nodejs 请求从一个 api 调用的关键字请求数据,他们的文档没有关于 nodejs 的任何内容,但他们确实有 bash 所以我所做的是我转换了他们的bash 到 nodejs 请求。有关更多上下文,这是他们的文档: https://api.keywordseverywhere.com/docs/#/keywords/get_keywords_data 我的代码似乎可以工作,因为它 return 的状态代码是 200,但问题是它 return 是一个空白数据:
{
"data": [],
"credits": 93735,
"time": 0
}
如果请求成功,它应该return像这样:
{
"data": [
{
"vol": 390,
"cpc": {
"currency": "$",
"value": "5.51"
},
"keyword": "keywords tool",
"competition": 0.33,
"trend": [
{
"month": "May",
"year": 2019,
"value": 480
}]
},
"credits": 95597600,
"time": 0.02
}
我猜我的代码有问题,因为我使用了一个转换器,它没有正确读取正文请求。这是我的代码:
var headers = {
'Authorization': 'Bearer (API-KEY-HERE)',
'Accept': 'application/x-www-form-urlencoded'
};
var options = {
url: 'https://api.keywordseverywhere.com/v1/get_keyword_data',
method: 'POST',
headers: headers,
body: 'dataSource=gkp&country=us¤cy=USD&kw[]=keywords&kw[]=keyword'
};
function callback(error, response, body) {
console.log(response.body)
if (!error && response.statusCode == 200) {
console.log(body);
}
}
request.post(options, callback);
你的代码的问题是正文,无论如何代码应该是这样的:
const request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.keywordseverywhere.com/v1/get_keyword_data',
'headers': {
'Authorization': 'Bearer insertAPIKeyHere'
},
formData: {
'kw[]': 'keyword',
'country': 'us',
'currency': 'usd',
'dataSource': 'gkp'
}
};
request(options, function (error, response) {
if (error){console.log(error)};
console.log(response.body);
});