API книг Google возвращает JSON с неправильным значением totalItem - PullRequest
1 голос
/ 01 сентября 2011

У меня есть программа на JAVA, которая отправляет сообщение HTTP GET в API Google Книг.Я хочу получить книги, которые отвечают критерию поиска "готовка".Максимальное количество элементов в ответе - 40, и это число, которое я установил в сообщении GET.

https://www.googleapis.com/books/v1/volumes?q=cooking&projection=full&startIndex=0&maxResults=40&key=/*My Key*/

В полученном ответе значение «totalItem» составляет около 450. Это выглядит оченьнеправильно, потому что поиск в графическом интерфейсе книг Google или «приготовление» дает 5,8 миллиона результатов.

Кто-нибудь знает, почему это так?

Второй вопрос: первый отправленный запрос запрашивает результаты в индексе0-39, после этого 40-79 ... до 1000. 1000 - дневной лимит запросов curtesy этого API.По какой-то причине каждый раз, когда я получаю файл JSON, значение totalItem отличается!всегда около 450,
но я не вижу в этом последовательности.

Кто-нибудь что-нибудь знает об этом?

Заранее спасибо, Нати.

Ответы [ 2 ]

2 голосов
/ 01 сентября 2011

Общее количество найденных элементов равно openSearch:totalResults. Согласно спецификации openSearch ,

Элемент "totalResults"

Количество результатов поиска, доступных для текущего поиска.

Если элемент totalResults не отображается на странице, то поисковый клиент должен считать текущую страницу последней страницей результаты поиска.

Ограничения: значение должно быть неотрицательным целым числом. По умолчанию: значение по умолчанию равно индексу смещения последнего результата поиска на текущей странице. Требования: элемент может появиться ноль или один время.

Это не работает для этого API, хотя, и если вы уменьшите maxResults до 1, ваш totalItems взлетит до 590 с. Ничто в документации Google ничего не говорит об этом явно. Самый близкий, который я получил, был в документации API YouTube

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

Нужно ли было totalItems для нумерации страниц?

0 голосов
/ 15 сентября 2011

Чтобы ответить на ваш первый вопрос о результатах поиска между books api и books GUI, см. Следующую ветку.Имеет отношение к контенту и метаданным в поиске GUI и только к метаданным в API.

http://www.google.com/support/forum/p/booksearch-apis/thread?tid=38628f43b3bf6ee4&hl=en

...