google api + node.js + google-api-nodejs-клиент

Я чувствую, что должен быть в состоянии понять это, но я застрял в синтаксисе для вызовов Google API в узле, используя google-api-nodejs-client.

Вот мой код для запроса книг, который принимает строку поиска как "запрос", и это прекрасно работает.

client.books.volumes.list({q: query}).withAuthClient(oath2Client);

Как и сейчас, он возвращает список книг со всеми данными, относящимися к этим книгам. Но как я могу изменить это, чтобы отфильтровать результаты, чтобы сказать только идентификатор, название и авторов?

1 ответ

Решение

Согласно документации API по адресу https://developers.google.com/books/docs/v1/reference/volumes/list, вы можете "Ограничить информацию, возвращаемую набором выбранных полей". используя параметр проекции. Таким образом, звонок может выглядеть примерно так

client.books.volumes.list({
  q: запрос,
  проекция: "облегченный"
}) WithAuthClient(oauth2Client).

Хотя в документации этого не говорится, похоже, что вы также можете использовать параметр "fields", чтобы точно указать, какие поля вам нужны. Используйте редактор полей как часть "Попробуй!" заблокируйте на этой странице, чтобы получить точную конфигурацию, которую вы хотите, но что-то вроде этого также должно работать, чтобы получить только идентификатор книги, название и авторов:

client.books.volumes.list({
  q: запрос,
  поля: 'items(id,volumeInfo(авторы, название))'
}) WithAuthClient(oauth2Client).
Другие вопросы по тегам