图书与文学

Google Books API

Google Books API 允许开发者访问谷歌庞大的图书数据库,实现图书搜索、预览和元数据检索功能。该接口支持按标题、作者、ISBN等多种条件查找图书,并提供封面图片、描述和可阅读片段等信息。

查看官方文档 ↗

接入教程

1. 访问Google Cloud Console创建项目并启用Books API
2. 生成API密钥凭证用于身份验证
3. 使用GET请求调用volumes端点进行图书搜索
4. 解析返回的JSON数据获取图书详细信息
5. 可选:使用书ID获取特定图书的完整元数据

使用Python搜索图书

python
import requests

# 搜索图书
url = "https://www.googleapis.com/books/v1/volumes"
params = {
    "q": "python programming",
    "key": "YOUR_API_KEY",
    "maxResults": 5
}

response = requests.get(url, params=params)
data = response.json()

if response.status_code == 200:
    for item in data.get('items', []):
        volume_info = item['volumeInfo']
        print(f"标题: {volume_info.get('title')}")
        print(f"作者: {', '.join(volume_info.get('authors', []))}")
        print("---")
else:
    print(f"请求失败: {response.status_code}")

使用PHP获取图书详情

php
<?php
// 获取特定图书信息
$bookId = 'zyTCAlFPjgYC';
$apiKey = 'YOUR_API_KEY';

$url = "https://www.googleapis.com/books/v1/volumes/" . $bookId . "?key=" . $apiKey;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode == 200) {
    $data = json_decode($response, true);
    if (isset($data['volumeInfo'])) {
        $book = $data['volumeInfo'];
        echo "书名: " . ($book['title'] ?? '未知') . "\n";
        echo "出版社: " . ($book['publisher'] ?? '未知') . "\n";
        echo "页数: " . ($book['pageCount'] ?? '未知') . "\n";
    }
} else {
    echo "请求失败,状态码: " . $httpCode;
}
?>

使用JavaScript实现图书搜索

javascript
// 在浏览器中搜索图书
async function searchBooks(query) {
    const apiKey = 'YOUR_API_KEY';
    const url = `https://www.googleapis.com/books/v1/volumes?q=${encodeURIComponent(query)}&key=${apiKey}&maxResults=10`;
    
    try {
        const response = await fetch(url);
        if (!response.ok) {
            throw new Error(`HTTP错误: ${response.status}`);
        }
        
        const data = await response.json();
        
        if (data.items && data.items.length >132) {
            data.items.forEach(item => {
                const book = item.volumeInfo;
                console.log(`标题: ${book.title}`);
                console.log(`作者: ${book.authors ? book.authors.join(', ') : '未知'}`);
                console.log(`出版日期: ${book.publishedDate || '未知'}`);
                console.log('---');
            });
        } else {
            console.log('未找到相关图书');
        }
    } catch (error) {
        console.error('请求失败:', error.message);
    }
}

// 调用示例
searchBooks('artificial intelligence');

常见问题

如何获取Google Books API密钥?

访问Google Cloud Console,创建一个新项目或选择现有项目,然后启用Google Books API服务。在“凭据”页面创建API密钥,即可获得用于调用的YOUR_API_KEY。

API调用有哪些限制?

Google Books API对免费使用有每日配额限制,通常为每天1000次请求。超过限制后需要升级到付费计划或等待配额重置。具体限额可在Google Cloud Console中查看。

可以获取图书的完整内容吗?

不可以。Google Books API主要提供图书元数据、封面图片和有限预览片段。完整图书内容受版权保护,需要通过出版商或Google Play图书等授权渠道获取。

相似接口推荐

Runyankole 圣经 API

提供 Runyankore-Rukiga 圣经的免费 REST API,包含66卷书和31106节经文。

待确认
企鹅出版API

提供图书、封面及相关数据的访问接口,涵盖出版物的详细信息。

待确认
Open Library

Open Library提供图书信息、书籍封面及相关数据的免费API服务。用户可通过该接口查询图书元数据、获取封面图像及访问其他图书相关信息。

待确认
古腾堡索引API

这是一个提供古腾堡计划电子书库数据的网络API。用户可通过该接口获取书籍元数据、作者信息和阅读统计等内容,便于开发者集成图书检索功能。

待确认