Как получить на следующей странице результаты поста / поиска API блоггера?
Я делаю следующий запрос:
https://www.googleapis.com/blogger/v3/blogs/(blogId)/posts/search?key=(myKey)&q=(someSearchTerm)
и я получаю 10 предметов в результате и nextPageToken
поле.
Как я могу получить следующие 10 предметов с этим маркером страницы?
Обновить
когда я добавлю nextPageToken
строка с параметром pageToken
на URL вроде так:
https://www.googleapis.com/blogger/v3/blogs/(blogId)/posts/search?key=(myKey)&q=(someSearchTerm)&pageToken=(stringOfNextPageToken)
ничего не происходит, и я получаю те же 10 предметов.
2 ответа
Когда используешь:
{Google API URL}/posts/?{parameters}&pageToken={nextPageToken}
Ответ данных JSON содержит следующие элементы. Это ожидаемое поведение, как описано в разделе "Разбивка на страницы в Blogger Api V3".
Но при использовании:
{Google API URL}/posts/search/?{parameters}&pageToken={nextPageToken}
Ответ данных JSON снова содержит те же элементы. Выглядит какpageToken
игнорируется /posts/search/
.
Я открыл проблему в Google API Github.
Обновлено: пока что я использую стандартные каналы Blogger{Blog URL}/feeds/posts/
и забыл об использовании Google API v3.
Определенно, это не ошибка, хотя и требует дополнительных пояснений, вы можете сослаться на этот документ из Blogger API v3 здесь.
чтобы получить работу с разбиением на страницы, вам нужно вызвать API с maxResults={pageSize}, тогда вы получите дополнительное значение в ответе 'nextPageToken', вы должны использовать значение этого поля и передать его. 'pageToken' НЕ 'nextPageToken'
https://blablabla?maxResults=10&pageToken={VALUE_OF_NEXTPAGETOKEN}
когда вы дойдете до конца списка, вы больше не получите nextPageToken, и это означает, что больше нечего извлекать.