postman預處理 自動生成簽名參數及配置access_token


postman預處理 自動生成簽名參數及配置access_token

1、通過預處理,完成參數簽名

2、通過把認證接口得到的token設為環境變量,業務接口可獲取環境變量的token

 

Pre-request Script

let queryParam = pm.request.url.query.members;
let param = request.data;
let appSecret = pm.environment.get("appSecret");;//簽名Key
let appId = pm.environment.get("appId");

try {
  let json = JSON.parse(param); //序列化JSON BODY
  param = json;
  }catch(err){
  //BODY不是JSON格式
  }

// //Get & 合並GET和POST參數
// for (let i in queryParam){
//     param[queryParam[i].key] = queryParam[i].value;
// }

//Post
//取key
var keys = [];
for (let k in param){
    if (k == 'sign'){
        continue;
    }
    keys.push(k);
    
}
//排序
keys.sort();

//取value
var kv = [];
for (let k of keys){
    if(param[k] == null || param[k] == '') {
        continue;
    }

    //kv.push(k + '=' + encodeURIComponent(param[k])) //urlencode編碼
    kv.push(k + '' + param[k]) //urlencode編碼 
}

//拼接
//var sign = kv.join('&');
var sign = kv.join('');
sign = sign + appSecret;
console.log(sign);
sign = CryptoJS.MD5(sign).toString();
console.log(sign);

//設置環境變量
postman.setEnvironmentVariable("sign", sign);

 

 

 

 

 

 

 

 

 

Body參數

{
    "appId": "test",
    "apiVersion": "1.0",
    "timestamp": "11111111111111111",
    "page": "1",
    "pageSize": "10",
    "longitude": "106.670984",
    "latitude": "26.731582",
    "range": "1000",
    "couponCode": "12345",
    "sign":"{{sign}}"
}

 

 

Token

設置Tests

//設置token
var responeData = JSON.parse(responseBody); //把響應結果轉為JSON對象
pm.environment.set("token", responeData.data.access_token); //從響應結果JSON對象中獲取到token參數,並放到環境變量
console.log("token: " + responeData.data.access_token); 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM