这个Bing Code API的PHP代码有什么问题?

时间:2013-06-07 23:57:36

标签: php json curl bing-api

我一直在拼命试图处理这段代码。我也一直在StackOverFlow中寻找答案。最后我卡住了。它一直在这段代码的第63行中特别说错:

$key = 'SSSSSSS';
$root = 'https://api.datamarket.azure.com/Bing/Search/';
$search = $root . 'Web?$format=json&Query=';
$req = $search . urlencode('\'.$keyword.\'');

$ch = curl_init($req);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, $key . ":" . $key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($process, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($ch);

$json = json_decode($resp);
echo('<ul ID="resultList">');
foreach ($json->d->results->metadata as $value) {
echo('<li class="resultlistitem"><a href="'
. $value->URL . '">' . $value->Title . '</a>');
}
echo("</ul>");

错误说:


注意:尝试在第63行的C:\ xampp \ htdocs \ MSP \ cariBing.php中获取非对象的属性

警告:在第63行的C:\ xampp \ htdocs \ MSP \ cariBing.php中为foreach()提供的参数无效


我想问题出现在foreach代码中,我是按照API documentation完成的,但仍然无效。 请帮忙,谢谢..

我尝试了一些东西,更新的代码是:

if (isset($_GET['keyword'])) {
$keyword = $_GET['keyword'];
 } else {
echo 'Wrong!';
}

$key = 'SSSSSS'; //Key for Nofriani's account: sorta a password
$root = 'https://api.datamarket.azure.com/Bing/Search/';
$search = $root . 'Web?$format=json&Query=';
$req = $search . urlencode('\'.$keyword.\'');
$ch = curl_init($req);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, $key . ":" . $key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($ch);

$json = json_decode($resp);

 echo('<ul ID="resultList">');

foreach ($json->d->results as $value) {
echo('<li class="resultlistitem"><a href="'
. $value->Url . '">' . $value->Title . '</a>');
echo '</br>';
echo($value->Description);
}
echo("</ul>");

当我尝试在浏览器中运行它时,使用:localhost / msp / caribing.php?keyword = mean 它给出了标题和描述的列表,关键字是“关键字”。 我希望关键字的结果是“mean”。 代码有什么问题?感谢..

0 个答案:

没有答案