我正在尝试获取请求,以使用户在服务器上的频道中联机,但是我总是向服务器中的所有用户公开。
我已经使用了请求模块,但是它不起作用,似乎它没有在请求中传递参数“ _id”
卷曲
curl -s -G \
-H "X-Auth-Token: Qv5vMPB_6aMCSv5ayQAbQCXkSsBzra_K6BbAqc7S0Fr" \
-H "X-User-Id: 34YYb2cqqDaFz53ib" \
-H "Accepts: application/json" \
--data-urlencode 'query={"_id": "FC77kqfNrH39wEaKG"}' \
http://localhost:3001/api/v1/channels.online
我的专家结果
{
"online": [
{
"_id": "D539dgygpWrYrNyFz",
"username": "tranhoang"
},
{
"_id": "34YYb2cqqDaFz53ib",
"username": "mybot"
}
],
"success": true
}
代码使用请求模块
var request = require('request');
var headers = {
'X-Auth-Token': 'Qv5vMPB_6aMCSv5ayQAbQCXkSsBzra_K6BbAqc7S0Fr',
'X-User-Id': '34YYb2cqqDaFz53ib',
'Accepts': 'application/json'
};
var options = {
url: 'http://localhost:3001/api/v1/channels.online',
headers: headers,
form: {
query: '{"_id": "FC77kqfNrH39wEaKG"}'
}
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
console.log(response);
}
}
request(options, callback);
和结果
{
"online": [
{
"_id": "D539dgygpWrYrNyFz",
"username": "tranhoang"
},
{
"_id": "34YYb2cqqDaFz53ib",
"username": "mybot"
},
{
"_id": "DkiEXfaXRA5EffnHb",
"username": "sp2"
}
],
"success": true
}
sp2没有加入格式为“ _id”的频道,我该怎么办,请帮帮我!
答案 0 :(得分:0)
要使用GET
模块在Node.js中发出HTTP request
请求,您不需要form
对象中的options
。相反,qs
中的options
是正确的选择。
代码如下:
var request = require('request');
var headers = {
'X-Auth-Token': 'Qv5v...S0Fr',
'X-User-Id': '34YY...53ib',
'Accepts': 'application/json'
};
var options = {
uri: 'http://localhost:3001/api/v1/channels.online',
headers: headers,
qs: {
query: {"_id": "FC77kqfNrH39wEaKG"}
},
method: 'GET'
};
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
console.log(response);
}
}
request(options, callback);