代码
/**
* npm install crypto-js request
*/
'use strict';
var CryptoJS = require("crypto-js");
var request = require('request-promise');
var querystring = require('querystring');
// 云市场分配的密钥Id
var secretId = "xxx";
// 云市场分配的密钥Key
var secretKey = "xxx";
var source = "market";
// 签名
var datetime = (new Date()).toGMTString();
var signStr = "x-date: " + datetime + "\n" + "x-source: " + source;
var sign = CryptoJS.enc.Base64.stringify(CryptoJS.HmacSHA1(signStr, secretKey))
var auth = 'hmac id="' + secretId + '", algorithm="hmac-sha1", headers="x-date x-source", signature="' + sign + '"';
exports.main_handler = async( event,context,callback) =>{
// 请求方法
var method = 'GET';
// 请求头
var headers = {
"X-Source": source,
"X-Date": datetime,
"Authorization": auth,
}
// 查询参数
var queryParams = event.queryStringParameters
// body参数(POST方法下)
var bodyParams = {
}
// url参数拼接
var url = 'https://service-osj3eufj-xxx.ap-shanghai.apigateway.myqcloud.com/release/isbn';
if (Object.keys(queryParams).length > 0) {
url += '?' + querystring.stringify(queryParams);
}
var options = {
url: url,
timeout: 5000,
method: method,
headers: headers
}
if (['POST', 'PUT', 'PATCH'].indexOf(method) != -1) {
options['body'] = querystring.stringify(bodyParams);
options['headers']['Content-Type'] = "application/x-www-form-urlencoded";
}
request(options, function (error, response, body) {
if (error !== null) {
console.log('error:', error);
return;
}
console.log(body);
});
}
版权声明:本文为u012025226原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。