Have spent hours searching Google et. al. for an answer, sure it's simple but how do you create pagination with the GMail api using nextPageToken? what ever I do cannot get pagination to work (back and forth that is).
Assume 'authorised user' and access with the right scopes I call
gapi.client.load('gmail','v1',displayInbox);
then
function displayInbox(){
var request = gapi.client.gmail.users.messages.list({
'userId':'me',
'maxResults':10,
});
request.execute(function(response){
$.each(response.messages,function(){
var messageRequest = gapi.client.gmail.users.messages.get({
'userId':'me',
'id':this.id
});
messageRequest.execute(appendMessageRow);
});
});
}
appendMessageRow simply lays out the list in a table e.g.
function appendMessageRow(message){
var txt = '<tr>';
txt +='<td>'+getHeader(message.payload.headers, 'From')+'</td>';
txt +='<td>';
txt +='<a href="#message-modal-'+ message.id +'" data-toggle="modal" id="message-link-' + message.id+'">' +getHeader(message.payload.headers, 'Subject') +'</a>';
txt +='</td>';
txt +='<td class="text-xs-right">'+moment(parseInt(message.internalDate)).format('HH:mm')+'</td>';
txt +='</tr>';
$('table tbody').append(txt);
}
When I console.log request.execute I see nextPageToken as an object key What I cannot do and need to do is add pagination buttons - messageRequest.execute does not pass the nextPageToken plus there does not seem to be a way to create/obtain a 'previousPageToken'.
Sorry if simple but is it me or is there far more to it than that? The GMail API docs appear very poor (to me) on this subject and I have not found a stackoverflow answer that helps.
To recap - how do I add pagination buttons and pass the appropriate variables to call/recall displayInbox().
Thanks in advance
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…