2016-11-18 73 views
1

如何manuplate該代碼通過將書如何manuplate谷歌的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"; 
} 

而且任何想法的ISBN號碼來獲得本書的細節,爲什麼它顯示了當我通過一個10輸出isbn

+1

如果您將「Henry David Thoreau」更改爲isbn號碼,會發生什麼情況? – DaImTo

+0

它的工作原理,但我不知道爲什麼它顯示10個結果,像10個圖像 –

+0

**保持您的API密鑰私人。如果有人獲得了您的密鑰,他們可以使用它來消費您的配額或對您的Google API控制檯項目收取費用。 – Morfinismo

回答

1

請考慮一下Google Books爲您提供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​​,所以我不知道完美的方式,我hav通過配置設置temp.json,如果我使用那麼我會通過我的API鍵? –

+0

sry它只顯示這個錯誤 cURL錯誤7 :(見http://curl.haxx.se/libcurl/c/libcurl-errors.html) –

+0

如果你是從這個東西開始,我強烈建議按照這裏的說明https://developers.google.com/api-client-library/php/start/get_started。它應該可以幫助你理解這是如何工作的。 – Morfinismo

相關問題