bluora/php-google-books-api

提供访问Google Books API的接口

dev-master 2017-08-18 01:32 UTC

This package is not auto-updated.

Last update: 2024-09-15 02:57:30 UTC


README

一个易于使用的PHP客户端,用于使用Google Books API。

要求

安装

$ composer require bluora/php-google-books-api dev-master

您也可以将此包添加到您的composer.json文件中

"bluora/php-google-books-api": "dev-master"

然后运行composer update将包下载到您的vendor目录。

配置

有几种方法可以设置Google API服务账户密钥。

使用您的环境文件,使用配置文件中的putenv,或在GoogleBookApi类实例化时使用。

.env文件

GOOGLE_BOOKS_API_KEY="xxx...xxx"

PHP配置

putenv('GOOGLE_BOOKS_API_KEY=xxx...xxx'));
$lookup = new GoogleBooksApi(['key' => 'xxx...xxx']);

用法

基本

让我们使用其ISBN获取《谷歌故事》。

注意:如果查询找不到记录,返回值将为null。

$book = (new GoogleBooksApi())
    ->isbn('9780553804577')->first();

返回一个值关联数组。根据主机IP地址的地理位置,书数据的内容可能不同。

此包实现了Iterator和Countable接口,因此它提供了计数和通过foreach将其作为数组处理的能力。

注意:在返回结果之前,count将加载结果的第一个page

$books = (new GoogleBooksApi())
    ->search('google');

echo 'Total books in result: ' . count($books) . '; Total pages: '.$lookup->totalPages();

输出将如下所示

Total books in result: 511; Total pages: 52

因为它实现了Interator接口,调用foreach将在到达当前结果的末尾时加载新的书籍。

如果您只想加载一定数量的书籍,则使用limit仅加载更多书籍页面。

注意:设置限制将自动设置每页记录数,最多为API的最大值40。超过40后,它将在后续的API调用中请求剩余的值。

$books = (new GoogleBooksApi())
    ->search('google')
    ->limit(12);

echo 'Total: '.count($lookup)."; Pages: ".$lookup->totalPages()."\n";

foreach ($lookup as $key => $book) {
    echo $key." - ".$book['title']."\n";
}

输出将如下所示

Total: 511; Pages: 43
0 - The Google Legacy
1 - Google
2 - The Google Model
3 - Google Chrome
4 - Using Google AdWords and AdSense
5 - Making Google Adsense Work for the 9 to 5 Professional - Tips and Strategies to Earn More from Google Adsense
6 - Google Search & Rescue For Dummies
7 - Using Google and Google Tools in the Classroom, Grades 5 & Up
8 - Programming Google App Engine
9 - Python for Google App Engine
10 - Google and the Law
11 - Planet Google

您可以通过调用all来获取完整的结果数组。

$books = (new GoogleBooksApi())
    ->search('google')
    ->limit(12)
    ->all();

foreach ($books as $key => $book) {
    echo $key." - ".$book['title']."\n";
}