【发布时间】:2015-03-09 03:05:39
【问题描述】:
我正在尝试使用 nodejs 为后端使用 quickblox 为我的应用程序实现推送通知。我正在按照 quickblox 网站上提到的步骤执行此操作,即创建会话用户,创建推送令牌,最后订阅通知频道。我在创建推送令牌时遇到问题。我的服务器端代码如下所示:
app.post('/test_quickblox', function(req, res) {
var params = {
login: req.user.qb_username,
password: req.user.qb_password,
}
console.log(params);
QB.createSession(params, function(err, result) {
if (err) {
console.log(err);
}
console.log(result);
var options = {};
options.headers = {};
options.headers['QuickBlox-REST-API-Version'] = '0.1.0';
options.headers['QB-Token'] = result.token;
options.body = {};
options.body['push_token'] = {};
options.body['push_token']['environment'] = 'development';
options.body['push_token']['client_identification_sequence'] = '54b1e2b9e9081ed60520824054b1e2b8e9081ed60520823f';
options.body['device'] = {};
options.body['device']['platform'] = 'ios';
options.body['device']['udid'] = 'e0101010d38bde8e6740011221af335301010333';
options.url = 'http://api.quickblox.com/push_tokens.json';
QuickbloxRequest(options, function(err, response) {
if (err) {
console.log(err);
return apiError();
}
console.log(response);
res.apiSuccess();
});
});
});
记录响应时,如下所示
{ _id: '54b1e3a1535c121c2000be66', application_id: 18113, created_at: '2015-01-11T02:44:49Z', device_id: 0, 随机数:8394, 令牌:'bf61098a35fac9389be236caec44f0a9827630d1', ts: 1420944288, updated_at: '2015-01-11T02:44:49Z', 用户 ID:2179940, 编号:56046 }
我得到的错误是:
{"code":null,"message":"当前用户会话没有注册设备。设备必须能够使用推送令牌执行操作。"}
我猜问题在于 device_id 为 0。 请注意,我在另一个控制器中创建用户时没有提供任何 device_id,所以我认为这可能是我的问题,但我是 quickblox 的新手,还不了解所有语义,所以请帮助我找出问题所在。谢谢
【问题讨论】:
标签: javascript node.js push-notification quickblox