Version complète: sur le forum Webmaster Hub : API Google Search SOAP et PHP5
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Eroan
Bonjour,

je possède sur mon site un moteur de recherche qui utilise l'API Google Search dans son ancienne version (pas l'AJAX). Je possède bien une clé, le script tournait nikel jusqu'à ce que... je change de serveur et passe à php5.

Voici le code qui fonctionnait avant (qui reprend l'exemple officiel de Google), et qui ne fonctionne plus aujourd'hui :

CODE
include 'google-api.php';
$cle = '****maclé****';
$nb_par_page = 10;
$q = $motsclef.' site:http://www.monsite.com';
$google = new GoogleApiSearch;
$start = 0;
$result_gg = $google->doGoogleSearch($cle, $q, $start);
if($result_gg){
$nb_res = $result_gg['estimatedTotalResultsCount'];

if($nb_res != 0){
if($nb_res > 1){ $s = 's'; } else { $s = ''; }
$nbtotalgal = count($result_gg['resultElements']);
$milieu .='<h2 class="h2">'.$nbtotalgal.' élément'.$s.' trouv&eacute;'.$s.'sur le site</h2>';

$milieu .= '<table summary="'.$nbtotalgal.' elements" width="100%" id="compar"><tr><td><p align="left"><b>Apercu</b></p></td><td><p align="left"><b>Nom</b></p></td><td><p align="right"><b>ID</b></p></td></tr><tr><td class="break" colspan="3"></td></tr>';

foreach($result_gg['resultElements'] as $result_ggat){
$gg_titre=utf8_decode($result_ggat['title']);
$gg_titre=str_replace(strrchr($gg_titre, '-'), '', $gg_titre);
$gg_titre=str_replace('<b>', '', $gg_titre);
$gg_titre=str_replace('</b>', '', $gg_titre);
$gg_url=str_replace('http://www.monsite.com', '..', $result_ggat['URL']);
$bibibi = str_replace('.html', '', $gg_url);
$photos = '../photos/'.$bibibi.'-avatar.jpg';

$milieu .= '<tr><td><p align="left"><a href="'.$gg_url.'"><img height="54" width="72" alt="'.$gg_titre.'" src="'.$photos.'" /></a></p></td><td><p align="left"><a href="'.$gg_url.'">'.eregi_replace($motsclef,'<span class="red2"><strong>'.$motsclef.'</strong></span>',$gg_titre).'</a></p></td><td><p align="right">'.$bibibi.'</p></td></tr><tr><td class="break" colspan="3"></td></tr>';
}
$milieu .='</table>';
}
}


Quelqu'un voit-il d'où vient le problème?

J'ai beau passer et repasser le code je ne vois pas ce qui plante!

Merci d'avance!
Eroan
41 visites sur ce petit sujet et pas une réponse? Personne ne sait?
Magicoyo
Disons que les résultats API sont assez différents des résultats moteur... ça incite pas à l'utiliser.

C'était ma contribution à 2cts. smile.gif
Eroan
MDR merci bien pour l'info, j'avais cru comprendre ça oui...

Mais ça me convient très bien! Donc j'aimerai le faire tourner ce petit API approximatif wink.gif
Eroan
Je suis certain que c'est tout bête... personne ne trouve?
iNCiTE Web
Et c'est quoi qui ne fonctionne pas, vu qu'on a pas la clé pour tester ?
Eroan
Et bien l'API fonctione bien.

Lorsqu'il ne trouve pas de résultat la page s'affiche correctement.

A partir du moment où une réponse existe la page ne s'affiche pas. L'erreur se situe donc au niveau de la structure de mon script après if($nb_res != 0){

Ce n'est donc pas une erreur de l'API en lui même mais du script qui affiche les résultats!
iNCiTE Web
Ne s'affiche pas du tout ? message d'erreur ?
Si tu mets des tracking genre echo "test 1"; un peu partout ça va jusqu'où ?
On a pas la clé ni le fichier google-api.php alors c'est impossible à tester...
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.