2016-11-18 3 views
1

как manuplate этот код, чтобы получить подробную информацию о книге, передавая ISBN номер книгикак manuplate клиент Google API PHP

$client = new \Google_Client(); 
$client->setApplicationName("BestBook"); 
$client->setAuthConfigFile('temp.json'); 
$client->addScope(\Google_Service_Drive::DRIVE); 
$client->setDeveloperKey("AIzaSyD6OrKhhJiseBimFVJZ_7OV5tyPdg4LxZiY"); 

$service = new \Google_Service_Books($client); 
$results = $service->volumes->listVolumes('Henry David Thoreau'); 

foreach ($results as $item) { 
    echo $item['volumeInfo']['imageLinks']['smallThumbnail'], "<br /> \n"; 
} 

И любая идея, почему он показывает 10 вывод, когда я прохожу один isbn

+1

Что произойдет, если вы измените «Генри Дэвида Торо» на номер isbn? – DaImTo

+0

это работает, но я не знаю, почему он показывает 10 результатов, например 10 изображений –

+0

** Держите свой ключ API закрытым. Если кто-то получит ваш ключ, он может использовать его для использования вашей квоты или взимания сборов с вашего проекта API Google API. – Morfinismo

ответ

1

Пожалуйста, учтите тот факт, что в Google Книгах предусмотрены ISBN_13 и ISBN_10. Имея это в виду, что вам нужно сделать следующее:

$client = new Google_Client(); 
$client->setApplicationName("BestBook"); 
$client->setDeveloperKey("asdfkjeriuIEWURkjfaskd"); 

$optParams = array(
    'filter' => 'ebooks'//, 
    //'langRestrict' => 'es', 
    //'orderBy' => 'relevance' 
); 

$isbnNumber = 9781452052656; 
$results = $service->volumes->listVolumes($isbnNumber, $optParams); 

// HANDLE RESULT 
foreach ($results as $item) {  

    if ($item['volumeInfo']['industryIdentifiers'][0]['identifier'] == $isbnNumber) { // For ISBN_13 (for ISBN_10 use $item['volumeInfo']['industryIdentifiers'][1]['identifier']) 

    echo " - ".utf8_decode($item['volumeInfo']['title']), "<br />"; 

    } 
} 

Кстати, так как вы не доступ к данным пользователей, но данные вместо этого просто приложения, то вам не нужно использовать линии $client->addScope(\Google_Service_Drive::DRIVE); и $client->setAuthConfigFile('temp.json');

О! Я почти забыл! Пожалуйста, не публикуйте свой API-ключ здесь, потому что это конфиденциальная информация!

Надеюсь, это поможет!

+0

Благодарим вас за ответ, но он показывает много ошибок, таких как неопределенная переменная $ optparams, и у меня есть jst, который начал работать с api, поэтому я dnt knw идеально подходит, и я передал настройку конфигурации в temp.json, если я не использую этот то я передам свои ключи api ?? –

+0

sry это только показывает эту ошибку cURL error 7: (см. Http://curl.haxx.se/libcurl/c/libcurl-errors.html) –

+0

Если вы начинаете с этого материала, я настоятельно рекомендую следовать инструкциям здесь https://developers.google.com/api-client-library/php/start/get_started. Это должно помочь вам понять, как это работает. – Morfinismo

Смежные вопросы