以下是使用Bing API进行搜索的代码。我们有Web Only API的付费版本。我已经在其他地方读过其他人对网络搜索结果只有API的问题,但肯定会有人在那里工作。
这是我使用的代码。您将从下面的错误中看到代码的最后一行失败,并给出403错误。对此的任何帮助将不胜感激。
string keyterms = "";
if (Request.QueryString["keywords"] != null) { keyterms = Request.QueryString["keywords"].Trim(); }
var bingContainer = new Bing.BingSearchContainer(new Uri("https://api.datamarket.azure.com/Bing/Search"));
var accountKey = "our api";
bingContainer.Credentials = new NetworkCredential(accountKey, accountKey);
var query = bingContainer.Web(keyterms, null, null, null, null, null, null, null);
var results = query.Execute();
以下是屏幕上显示的实际错误。
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.Services.Client.DataServiceClientException: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>403 - Forbidden: Access is denied.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
<h2>403 - Forbidden: Access is denied.</h2>
<h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>
</fieldset></div>
</div>
</body>
</html>
Source Error:
Line 39: bingContainer.Credentials = new NetworkCredential(accountKey, accountKey);
Line 40: var query = bingContainer.Web(keyterms, null, null, null, null, null, null, null);
Line 41: var results = query.Execute();