Разбивка на страницы в Gmail API (предыдущий токен) - PullRequest
0 голосов
/ 28 января 2019

Я реализовал 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 я не могуустановить маркер предыдущей страницы. (В коде я установил последний nextPageToken на prevPageToken, который не работает)

Помните, prevPageToken будет использоваться для установки на клавишу возврата.

1 Ответ

0 голосов
/ 29 января 2019

API Gmail не поддерживает распространенный токен страницы.Вам не будет возвращено значение.

Первым вариантом будет сохранение этих токенов на вашем сервере, а затем, когда вы захотите вернуться на страницу, просто введите токен, который вы хотите, в поле токена страницы.

Второй вариант и тот, который я лично чувствую, был бы наиболее логичным.Было бы кэшировать данные, возвращенные этими запросами на вашем сервере, так что

  1. вам не нужно делать дополнительные http-вызовы на сервер.
  2. вы не потребляете дополнительную квоту, делаявызов, который вы уже сделали ранее.

API не предназначены для использования в целях разбиения на страницы в вашем приложении.Вы должны запрашивать данные только один раз, когда это ваша работа, чтобы затем кэшировать эти данные, чтобы вам не нужно было делать один и тот же запрос дважды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...