Comment faire en sorte que les recherches associées soient incluses dans la réponse de l'API de recherche Bing ?
J'essaie d'appliquer ResponseFilter avec la valeur RelatedSearches selon la documentation ici : https://learn.microsoft.com/en-us/rest/api/cognitiveservices/bing-web-api-v7-reference#ratedsearchanswer
Vous trouverez ci-dessous mon code basé sur un exemple de Bing. J'ai ajouté « &responseFilter=RelatedSearches » à l'URL récupérée par file_get_contents().
L'erreur que je reçois est la suivante :
PHP Warning: file_get_contents(https://api.cognitive.microsoft.com/bing/v7.0/search?responseFilter=RelatedSearches&q=iphone+case): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
Il est clair que je l'applique mal. Que puis-je changer pour que cela fonctionne ?
array (
'header' => $headers,
'method' => 'GET'));
$context = stream_context_create($options);
$result = file_get_contents($url . "?q=" . urlencode($query) . "&responseFilter=RelatedSearches", false, $context);
$headers = array();
foreach ($http_response_header as $k => $v) {
$h = explode(":", $v, 2);
if (isset($h[1]))
if (preg_match("/^BingAPIs-/", $h[0]) || preg_match("/^X-MSEdge-/", $h[0]))
$headers[trim($h[0])] = trim($h[1]);
}
return array($headers, $result);
}
if (strlen($accessKey) == 32) {
print "Searching the Web for: " . $term . "\n";
list($headers, $json) = BingWebSearch($endpoint, $accessKey, $term);
print "\nRelevant Headers:\n\n";
foreach ($headers as $k => $v) {
print $k . ": " . $v . "\n";
}
print "\nJSON Response:\n\n";
echo json_encode(json_decode($json), JSON_PRETTY_PRINT);
} else {
print("Invalid Bing Search API subscription key!\n");
print("Please paste yours into the source code.\n");
}
?>



