使用NODEJS操作淘宝API

本案例使用SESSION调用API,而非OAUTH.

相关文档地址:

http://open.taobao.com/doc/detail.htm?spm=0.0.0.0.Mr4aSL&id=101617

相关参数:

淘宝API调用地址:

http://gw.api.taobao.com/router/rest

SESSION获得办法:

链接:http://container.api.taobao.com/container/transform?appkey=你的APP KEY

授权后,返回:

top_session=6100b13d60b7......2

即可使用.


代码:

var app_sec = '你的APP SEC';

function doGet(url, params) {
    this.params = qs.stringify(params);
    this.url = url + '?' + this.params;
    var responseData = '';
    
    http.get(this.url, function(res) {
        res.on('data', function(s) {
            responseData += s;
        }).on('end', function() {
            var x = JSON.parse(responseData);
            console.log(x.products_search_response.products.product);
        })
    }).on('error', function(e) {
        console.log("Got error: " + e.message);
    });

}

var p = {
	app_key: '你的APP KEY',
	v: '2.0',
	fields: 'product_id,name,pic_url,cid,props,price',
	format: 'json',
	method: 'taobao.products.search',
	q: '优衣库 男子',
	session: '你获得的SESSION ',
	sign_method: 'md5',
	timestamp: now()
};

//增加签名
p.sign = getEncoding(p);

//获得签名方法
function getEncoding(p) {
	var s = app_sec;
	var keys = [];
	for (var key in p) {
		keys.push(key);
	}


	keys = keys.sort();

	for (var i in keys) {
		var key = keys[i];
		s += key + p[key];
	}
	s += app_sec;

	return crypto.createHash('md5').update(s, 'utf-8').digest('hex').toUpperCase();
}


//HERE WE GO!
new doGet('http://gw.api.taobao.com/router/rest', p);



Response Demo:

使用NODEJS操作淘宝API_第1张图片


你可能感兴趣的:(nodejs,淘宝,淘宝,淘宝API)