У меня проблемы с https://github.com/google/google-api-php-client. Все, что я хочу сделать, это получить некоторые подробности из результатов поиска с помощью системы пользовательского поиска (CSE). То же самое заняло у меня 30 минут с использованием API bing, но я не могу заставить это работать. Вызов API работает, я просто не могу получить результаты от возвращаемого объекта. Используя примеры из приведенного выше источника, simple-query.php отлично работает с API книг (такой полезный пример!), и я могу вернуть детали результатов поиска, используя, например,
echo "<h3>Results Of Call:</h3>";
foreach ($results as $item) {
echo $item['selfLink'],"<br /><br/> \n";
echo $item['etag'],"<br /> \n";
echo $item['volumeInfo']['title'],"<br /> \n";
echo $item['volumeInfo']['authors']['0'],"<br /> \n";
}
Это использует мой ключ API и идентификатор CSE.
Однако, если я попытаюсь использовать CSE, я не смогу использовать возвращаемый объект результатов. Итак, изменив пример простого поиска:
<?php
include_once "templates/base.php";
echo pageHeader("Custom Image Search");
//API request
set_include_path("../src/" . PATH_SEPARATOR . get_include_path());
require_once 'Google/Client.php';
require_once 'Google/Service/Customsearch.php';
//Create the client
$client = new Google_Client();
$client->setApplicationName("Client_Library_Examples");
$apiKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // Enter your API key
// Warn if the API key isn't changed.
if ($apiKey == '<YOUR_API_KEY>') {
echo missingApiKeyWarning();
}
$client->setDeveloperKey($apiKey);
$service = new Google_Service_Customsearch($client);
//Do the query
$query = 'donkey';
$optParams = array(
'imgSize' => 'large',
'searchType' => 'image',
'num' => '5',
'safe' => 'medium',
'cx' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx', //Added your cx or search engine ID here, see https://cse.google.com/cse/
);
$results = $service->cse->listCse($query, $optParams);
//Iterate over the results
echo "<h3>Results Of Call:</h3>";
foreach ($results as $item) {
echo "Test <br/>";
echo $item['link'], "<br /> \n";
}
Это просто ничего не возвращает.
Используя var_dump для $results, я вижу, что он возвращает результаты поиска (да, я ищу изображения ослов, просто в качестве примера!).
Но, используя пример с книгами, я вижу, что есть 6 результатов:
echo "Results count: " .count($results);
Но выполнение этого с примером cse возвращает 0. Поэтому неудивительно, что я ничего не повторяю.
Итак, может ли кто-нибудь сказать мне, как я могу получить результаты с помощью клиента php и CSE?
Спасибо