亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

郵遞員獲取 Gmail 電子郵件 ID,遍歷電子郵件 ID?

郵遞員獲取 Gmail 電子郵件 ID,遍歷電子郵件 ID?

慕蓋茨4494581 2023-08-18 16:10:32
對于郵差來說,我還很陌生,在鏈接 API 請求時,我從來沒有完全專注于迭代消息 ID。我有一個簡單的 GET 請求,如下所示https://gmail.googleapis.com/gmail/v1/users/user/messages這沒問題,可以檢索收件箱中的前 100 條消息,我使用索引鏈接到另一個命令來打開該電子郵件并使用以下代碼檢查內容Responsedata = JSON.parse(responseBody)Value = Responsedata.messages[1].idconsole.log(Value)pm.environment.set("email_id", Value); 我不明白的是如何在下一次迭代中迭代并將 message[1].id 從 1 增加到 2?我從來沒有完全專注于遞增變量,如果這就是你所描述的方式的話。
查看完整描述

3 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

let jsonData = pm.response.json();

let temp = []

jsonData.messages.forEach((b)=>{

    temp.push(b.id)

})

    

pm.environment.set("emailID",temp)

    

console.log(pm.environment.get("emailID"))

您可以將數組或任何內容存儲為環境變量。Postman 的工作方式與 JavaScript 類似。


現在變量已經有了值emailID。現在您可以使用 發送帶有 id 請求的消息setNextRequest。


如果您的請求名稱和結構如下:


首先獲取消息,然后獲取帶有 ID 的消息:

https://img1.sycdn.imooc.com//64df27a50001dcfc11310474.jpg

然后在帶有 id 請求的 GET 消息中使用以下預請求腳本:


let emailIDList = pm.environment.get("emailID");

    

    

pm.environment.set("id", emailIDList.pop())

pm.environment.set("emailID", emailIDList)

if (emailIDList.length > 0) {

    postman.setNextRequest("get Message with id")

}

https://img1.sycdn.imooc.com//64df27b200012a7f10540465.jpg

查看完整回答
反對 回復 2023-08-18
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

我建議迭代 ids 數組并使用 為每個 id 發送 HTTP 請求pm.sendRequest()。


const ids = pm.response.json().messages.map(item => item.id);


for (let id of ids) {

    const url = `https://gmail.googleapis.com/gmail/v1/users/user/messages/${id}`

    pm.sendRequest(url, (err, result) => {

        if(err) {

            console.log(err);

        } else {

            pm.test(`200 OK for id '${id}'`, () => pm.expect(result.code).to.eql(200));

        }

    })

}

我個人更喜歡使用 pm.sendRequest(),如下所示:


您在腳本執行期間擁有更多控制權;

postman.setNextRequest當您使用“發送”按鈕運行請求時無效,它僅在您運行集合時才生效。


查看完整回答
反對 回復 2023-08-18
?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

我不確定我是否很好地理解了這個問題,但為了增加 的值messages[1].id,只需執行以下操作:

Responsedata.messages[1].id++

這將使該值增加(加一)messages[1].id。

https://img1.sycdn.imooc.com//64df27c60001afda02590137.jpg

否則,如果您想迭代 Responsedata 對象中包含的超過 100 條消息,您可以這樣做(因為 messages 是一個數組):


Responsedata = JSON.parse(responseBody)

for(let i = 0; i < Responsedata.messages.length; i++)

{

     Value = Responsedata.messages[i].id

     console.log(Value)

     // do wathever you want with each message

}



查看完整回答
反對 回復 2023-08-18
  • 3 回答
  • 0 關注
  • 277 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號