29 lines
		
	
	
		
			723 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			723 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Services\BookInformation;
 | |
| 
 | |
| use Google_Client;
 | |
| use Google_Service_Books;
 | |
| 
 | |
| class GoogleBooks implements BookLookupService {
 | |
| 
 | |
|     public function lookup($isbn) {
 | |
|         $client = new Google_Client();
 | |
|         $client->setApplicationName("BookInventory");
 | |
|         $client->setDeveloperKey(env('GOOGLE_BOOKS_KEY'));
 | |
| 
 | |
|         $service = new Google_Service_Books($client);
 | |
| 
 | |
|         $results = $service->volumes->listVolumes('isbn:' . $isbn);
 | |
| 
 | |
|         /**
 | |
|          * @var \Google_Service_Books_Volume
 | |
|          */
 | |
|         $volume = array_first($results->getItems())->getVolumeInfo();
 | |
| 
 | |
|         return [
 | |
|             'title' => $volume->getTitle(),
 | |
|             'authors' => $volume->getAuthors()
 | |
|         ];
 | |
|     }
 | |
| } |