Javascript 如何在gmail API中获取下一页gmail?
好的,这样我就可以成功地只收到20封电子邮件。为了检索下一页,我应该在代码中更改什么 之后,我还想显示相应电子邮件的附件。但第一个选择是获取下一页,我知道我必须使用pagetoken,但我无法实现它Javascript 如何在gmail API中获取下一页gmail?,javascript,reactjs,google-api,gmail-api,Javascript,Reactjs,Google Api,Gmail Api,好的,这样我就可以成功地只收到20封电子邮件。为了检索下一页,我应该在代码中更改什么 之后,我还想显示相应电子邮件的附件。但第一个选择是获取下一页,我知道我必须使用pagetoken,但我无法实现它 const getMessages = (labelIds = "INBOX") => { // Get List of 20 message's Id const request = window.gapi.client.gmail.users.mess
const getMessages = (labelIds = "INBOX") => {
// Get List of 20 message's Id
const request = window.gapi.client.gmail.users.messages.list({
userId: "me",
labelIds: labelIds,
maxResults: 20,
});
setMessages([]);
// Send Id list to getMessagesData to get Message Data foreach Id
request.execute(getMessagesData);
};
const getMessagesData = (response) => {
const messages = response.result.messages ? response.result.messages : [];
messages.forEach((message) => {
window.gapi.client.gmail.users.messages
.get({
userId: "me",
id: message.id,
})
.then(
(response) => {
setMessages((messages) => [...messages, response.result]);
},
(err) => {
console.error("getMessagesData error", err);
}
);
});
};
const getOneMessage = (messageId) => {
window.gapi.client.gmail.users.messages
.get({
userId: "me",
id: messageId,
})
.then(
(response) => {
setMessage(response.result);
},
(err) => {
console.error("getMessage error", err);
}
);
};
你就快到了:
const request = window.gapi.client.gmail.users.messages.list({
userId: "me",
labelIds: labelIds,
maxResults: 20,
pageToken : pageToken
});
只需将pageToken添加到查询中
当您请求20条消息时,答案中的某个位置将存储一个pageToken。保存它并在参数中使用新的pageToken重复相同的请求
嘿,我尝试添加了这个,但这样做不起作用。应该可以,如果使用pagetoken会发生什么?我确实获得了pagetoken,但如何递归打印这些电子邮件?要递归获取所有电子邮件,只需调用do while循环:do{获取并存储电子邮件;设置新的pagetoken;}while(pagetoken!=null);