有没有人在用BAE做nodejs应用,困扰于没法发邮件,用户验证通知都没法做。BCMS云消息也老是报非法参数。
发布于 12 年前 作者 kevinchen8621 8424 次预览 最后一次回复是 12 年前 来自
var ak = process.env.BAE_ENV_AK;
var sk = process.env.BAE_ENV_SK;
var API_HOST = 'http://bcms.api.duapp.com/rest/2.0/bcms/';/*** 百度云消息API地址*/
function signPostData(uri, postData){ //
var signstr = "POST" + uri;
_.pairs(postData).forEach(function(pd){
signstr += pd[0] + "=" + pd[1];
});
signstr += sk;
console.log(signstr);
signstr = encodeURIComponent(signstr);
console.log(signstr);
return util.MD5(signstr);
}
exports.create = function (callback){ /*** 创建队列 http://developer.baidu.com/wiki/index.php?title=docs/cplat/mq/api#create*/
var uri = API_HOST + 'queue';
var now = Date.now();
var postData = { 'access_token':sk, 'client_id': ak, 'method': 'create','expires': now,'queue_alias_name': 'queue_another_name','queue_type':0, 'timestamp': now, 'v': '1.0'};
postData = _.extend(postData, {'sign': signPostData(uri, postData)});
console.log(postData);
request.post(uri, postData, callback); //这里调用了全局的一个request模块,检查过没有问题。
};
以上代码老是返回{“error_code”:30001,“error_msg”:“Request params not valid”,“request_id”:3806336952} 请求参数非法
之前尝试过自己搞smtp,但socket锁住了,BAE好像过不去,老是报address error,放到自己服务器能通过,现在只能考虑用BCMS方式。再不行,只能再在sinaapp上做个rest调用了。
9 回复
以上代码能表达意思,去掉了不相关的部分。
应该找BAE的客服
bae内部有bcms模块,直接require(‘bae-bcms’)。
BCMS 接口文档
服务简介
百度云消息服务(Baidu Cloud Message Service, BCMS)是百度于2011年7月最新设计研发,并于2011年底推出的国内首个消息服务平台。BCMS为百度云计算平台上的所有应用提供高效,可靠,安全,便捷的消息服务。广大应用开发者可以使用BCMS在他们应用的分布式组件上自由的传递数据,并结合百度云计算平台的其它服务,创造出更有特色的精品应用
使用示例
接口列表
各个接口的options配置请参考百度开发者中心BCMS开发文档
BaeBCMS(options)
createQueue(options, callback)
dropQueue(options, callback)
subscribeQueue(options, callback)
unsubscribeQueue(options, callback)
unsubscribeAllQueue(options, callback)
grantQueue(options, callback)
revokeQueue(options, callback)
suspendQueue(options, callback)
resumeQueue(options, callback)
confirmQueue(options, callback)
cancelQueue(options, callback)
publishMessage(options, callback)
publishMultiMessages(options, callback)
fetchMessage(options, callback)
mail(options, callback)
兄弟, 我为了这个自己写了份bae发送邮件的模块.
请参考: http://pangwa.github.io/bae-message/
我计划再写一些基于bae云消息的其他服务, 有兴趣的话可以参与进来啊~
官方没有这个模块的说明…
我在百度上怎么找不到
// php like URL encode 这个你也能挖掘出来哈,后端的确用的php的encode 可以试试bae-push, bae-bcs
@ifrog haha, 猜的, 没有在npmjs.org上找到bae-push, bae-bcs这两个模块啊.