使用 Postman 的 Pre-request Script 在呼叫 API 前自動取得授權

Jason Z
jason-read-code
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 並且自動在每次發出請求之前貼上囉!

--

--

Jason Z
jason-read-code

哲學系畢業的前端工程師,大部分時間都在搞鐵路系統,喜歡寫程式外,更喜歡鐵道,欣賞路上每個平凡的風景