Microsofts eigenes PHP-Beispiel für neue Bing-API funktioniert nicht. Ich habe versucht, in vielerlei Hinsicht, es zeigt nur:New Bing API PHP-Beispiel funktioniert nicht
Server Error
401 - nicht autorisiert: Zugriff aufgrund ungültiger Anmeldeinformationen verweigert.
Sie sind nicht berechtigt, dieses Verzeichnis oder diese Seite mithilfe der von Ihnen angegebenen Anmeldeinformationen anzuzeigen.
Beispiel in der offiziellen Dokumentation gegeben Codierung ist unten, bricht es bei
'proxy' => 'tcp://127.0.0.1:8888',
up Ich bin 100% sicher, dass mein Schlüssel korrekt ist, und wenn ich URL im Browser eingeben es nur funktioniert es gut , dh
https://api.datamarket.azure.com/Bing/SearchWeb/Web?Query=%27love+message%27
(Sie müssen die API-Schlüssel als Passwort und Benutzernamen setzen kann alles sein)
<html>
<head>
<link href="styles.css" rel="stylesheet" type="text/css" />
<title>PHP Bing</title>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Type in a search:
<input type="text" id="searchText" name="searchText"
value="<?php
if (isset($_POST['searchText']))
{
echo($_POST['searchText']);
}
else
{
echo('sushi');
}
?>"
/>
<input type="submit" value="Search!" name="submit" id="searchButton" />
<?php
if (isset($_POST['submit']))
{
// Replace this value with your account key
$accountKey = 'BKqC2hIKr8foem2E1qiRvB5ttBQJK8objH8kZE/WJVs=';
$ServiceRootURL = 'https://api.datamarket.azure.com/Bing/Search/';
$WebSearchURL = $ServiceRootURL . 'Image?$format=json&Query=';
$context = stream_context_create(array(
'http' => array(
//'proxy' => 'tcp://127.0.0.1:8888',
'request_fulluri' => true,
'header' => "Authorization: Basic " . base64_encode($accountKey . ":" . $accountKey)
)
));
$request = $WebSearchURL . urlencode('\'' . $_POST["searchText"] . '\'');
echo($request);
$response = file_get_contents($request, 0, $context);
print_r($response);
$jsonobj = json_decode($response);
echo('<ul ID="resultList">');
foreach($jsonobj->d->results as $value)
{
echo('<li class="resultlistitem"><a href="' . $value->MediaURL . '">');
echo('<img src="' . $value->Thumbnail->MediaUrl. '"></li>');
}
echo("</ul>");
}
?>
</form>
</body>
</html>
Ich habe beide Google API und Yahoo API beide versucht, keiner von denen war so schwierig wie diese.
Seien Sie nicht so schnell schuld MS. Es gibt * eine Menge * Leute, die die API benutzen, wenn es von Natur aus kaputt wäre, hätte ich * bestimmt * jemanden bemerkt. – JJJ
Führen Sie einen lokalen Proxy aus, der eine Authentifizierung erfordert? Ihr BING api-Schlüssel bedeutet für einen lokalen Proxy absolut nichts. –
Ich weiß nicht, wie viele Menschen dieses Problem hat, aber Beispiel Coding in Google geben, yahoo api sind viel sauberer und funktioniert perfekt .. es kann sein, dass sie absichtlich nicht php Entwickler wollen, um es zu verwenden .. jedenfalls .. – mahen3d