使用 Postman 的 Pre-request Script 在呼叫 API 前自動取得授權
Published in
Sep 18, 2022
Pre-request Script 是什麼?
Pre-request Script 是 Postman 內建的一個功能,可以在發出請求之前,預先執行某些動作。
使用 Pre-request Script 自動取得 API 授權
Pre-request Script 的應用情境很多,其中一個最實用的情境是,有很多API必須先取得授權 — Access Token
之後,再將授權填入API 的請求當中,才有辦法取得內容,否則會因為沒有授權被拒絕請求。
有時候 Access Token
的時效並不長,因此每次使用的時候,都要先去取得然後再複製貼上,非常麻煩。這時候就可以使用 Pre-request Script 將這個動作自動化。
在Postman的 Pre-request Script 中,支援直接寫JavaScript,所以可以直接使用平常熟悉的JS寫法去寫,唯一比較特別的是,這裡已經預設好pm的物件代表 Postman
const apiRequest = {
url: '<https://get-token-url>',
method: 'POST',
header: 'Content-Type:application/json',
body: {
mode: 'raw',
raw: JSON.stringify({
"domain": "example",
"email": "example@example.com",
})
}
};
pm.sendRequest(apiRequest, function(err, res) {
if (!err) {
const jsonResponse = res.json();
pm.environment.set("access_token", jsonResponse.msg.access_token);
}
});
在 Pre-requesti Scriupt 頁籤,貼上取得授權的執行程式碼
再點選 Authorization 頁籤,將先前設定好的環境變數 access_token
設定在token的欄位
如此一來就成功自動取得Access Token
並且自動在每次發出請求之前貼上囉!