我已经实现了GMail API,可以为我获取电子邮件。现在,我正在尝试向其添加分页功能,我已经成功获取了下一个记录,但是现在我还希望具有“上一个”选项(需要上一个标记)。
以下是我到目前为止无法尝试的内容。
public function paginate(Request $request){
$label = $request->input("label");
$nextToken = $request->input("next");
$prevToken = $request->input("prev");
$messages = LaravelGmail::message();
$msg = $messages->take(3)->in($label)->all($nextToken);
$nextToken_New = $messages->pageToken;
return view('gmail.load_mails', ['messages' => $msg, 'nextPageToken' => $nextToken_New,
'prevPageToken' => $nextToken]);
}
现在,在上面的函数中,nextPageToken在视图中以$nextToken_New
的形式传递
对于prevPageToken,我无法设置上一页标记。(在代码中,我将last nextPageToken设置为prevPageToken
,这是行不通的)
记住prevPageToken
将用于设置返回键。
答案 0 :(得分:1)
Gmail API不支持先前的页面令牌。它不会将值返回给您。
您的第一个选择是将这些令牌保存在您的服务器上,然后当您想返回页面时,只需将所需的令牌提供给页面令牌字段
第二种选择和我个人认为最合理的选择。将在服务器上缓存这些请求返回的数据,以便
API并非供您用来在应用程序中实现分页。您应该只在工作后请求数据,然后再缓存该数据,这样您就不需要两次发出相同的请求。