GMail API分页使用nextPageToken

时间:2017-01-20 10:23:07

标签: jquery pagination google-api gmail gmail-api

花了好几个小时搜索Google et。人。对于答案,确定它很简单,但是如何使用nextPageToken创建与GMail api的分页?无论我做什么都不能分页工作(来回)。

假设'授权用户'并使用我调用的正确范围进行访问

 gapi.client.load('gmail','v1',displayInbox);

然后

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只是简单地列出表格中的列表。

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);
}

当我调试console.log request.execute时我看到nextPageToken作为对象键我不能做什么,需要做的是添加分页按钮 - messageRequest.execute没有传递nextPageToken加上似乎没有办法创建/获得'previousPageToken'。

对不起,如果简单,但是我还是有更多的东西呢?关于这个主题,GMail API文档看起来很差(对我来说),我没有找到有帮助的stackoverflow答案。

回顾一下 - 如何添加分页按钮并传递适当的变量来调用/调用displayInbox()。

提前致谢

1 个答案:

答案 0 :(得分:4)

您可以在每个请求中保存下一页令牌,并在下一个请求中使用它。如果响应中没有下一页令牌,则表示您已收到所有消息:

 Query checkWriteLog = entityManager.createNativeQuery(sql);