Beresta

Помощь

Ключ Google Books

Beresta подтягивает сведения о книге — издательство, год, описание, обложку — из Google Books и Open Library. Google без ключа отвечает отказом, поэтому для него нужен свой ключ. Ниже — как его получить и что с ним происходит дальше.

Зачем ключ

Сведения из сети Beresta запрашивает, только когда вы нажимаете «Найти» в листе «Сведения о книге из сети». Open Library отвечает всем. Google Books требует, чтобы запрос к нему нёс ключ или токен, — так сказано в справке Books API. Запросы без ключа делят один общий дневной лимит, и он исчерпан: Google отвечает кодом 429, а Beresta пишет «Google Books отказал: дневной лимит запросов без ключа исчерпан».

Со своим ключом у вас свой лимит, ни с кем не общий.

Как получить ключ

Подписи кнопок привожу по-английски, как в справке Google. Если консоль у вас на русском, те же кнопки стоят на тех же местах.

  1. Откройте console.cloud.google.com и войдите в учётную запись Google.
  2. Создайте проект: страница Manage resources → Create project. Имя любое, например «Beresta». Нажмите Create и выберите новый проект в списке вверху консоли.
  3. Включите Books API: откройте Books API в библиотеке API и нажмите Enable. Проверьте, что вверху выбран именно новый проект.
  4. Откройте страницу Credentials, нажмите Create credentials и выберите API key.
  5. Ограничьте ключ одной Books API: в разделе API restrictions выберите Restrict key, отметьте Books API и нажмите Create. Если ключ уже создан без ограничения — щёлкните его имя на странице Credentials, сделайте то же самое и нажмите Save. Так ключ не откроет ничего другого в вашем проекте, даже если попадёт в чужие руки.
  6. Скопируйте ключ из окна API key created — это длинная строка из букв и цифр. Потерять его не страшно: ключ всегда виден на странице Credentials.

Шаги сверены со справкой Google о ключах API. Google время от времени переставляет консоль; если подпись не совпала, напишите мне — поправлю страницу.

Куда вписать ключ

На Маке, iPhone и iPad поле для ключа есть с версии 1.6. На Маке: «Настройки» → «Библиотека» → блок «Сведения из сети» → поле «Ключ Google Books», затем кнопка «Сохранить ключ». На iPhone и iPad: «Настройки» → раздел «Сведения из сети», то же поле и та же кнопка. Строка под полем скажет «Ключ вписан».

В бете для Linux путь такой: «Настройки» → «Каталоги OPDS» → группа «Сведения из сети» → поле «Ключ Google Books». Вставьте ключ и нажмите галочку справа от поля.

Вписанный ключ в поле больше не показывается — о нём говорит только эта строка. Убрать ключ — кнопка «Забыть ключ» там же.

Где живёт ключ

Только на вашем устройстве. На Маке, iPhone и iPad — в Связке ключей этого устройства, без синхронизации через iCloud. В Linux — в хранилище паролей рабочего стола (через libsecret — обычно это GNOME Keyring). В базу библиотеки, в файл настроек и в обмен между устройствами ключ не попадает, поэтому на каждом устройстве его вписывают отдельно.

В Linux, если хранилища паролей нет, например программа запущена без сеанса рабочего стола, ключ живёт в памяти до закрытия Beresta. Программа скажет об этом прямо: «Кладовая паролей недоступна — ключ живёт до закрытия Бересты».

Что уходит в Google

Только по нажатию «Найти» и только в Google Books: название и автор книги, ISBN, если вы его набрали, и ваш ключ. В Open Library уходят те же название, автор и ISBN, а ещё код языка книги; ключ туда не уходит. Показ найденных обложек — это ещё запросы к books.google.com или covers.openlibrary.org.

Не уходят ни библиотека, ни другие книги, ни идентификатор устройства. Запросы идут без кук и без кэша. Адрес вашего подключения Google, как любой сайт, видит.

Сколько это стоит

Денег за ключ и за запросы к Books API Google не просит — по крайней мере, в справке API о плате нет ни слова. Если консоль попросит привязать карту, напишите мне: значит, правила поменялись и страницу пора исправить.

Дневной лимит своего ключа видно в консоли: на странице Books API, во вкладке квот (Quotas). Число здесь не называю: в справке Google его нет, а замер чужого проекта ничего не скажет о вашем.

Если Beresta пишет, что ключ не принят

«Google Books не принял ключ» с кодом ответа значит одно из трёх: Books API не включена в том проекте, где создан ключ; в ограничениях ключа отмечена другая API; ключ скопирован не целиком. Проверьте все три и впишите ключ заново.

«Дневной лимит запросов вашего ключа исчерпан» — свой лимит на сегодня кончился. Подождите до следующего дня.

Отозвать ключ — удалить его на странице Credentials. Удалённый ключ, по справке Google, можно вернуть в течение 30 дней.

Обновлено 20261023.