有关Google网站搜索与Google API结合使用的问题

时间:2013-10-28 13:00:00

标签: asp.net-mvc-4 google-api google-search-api google-custom-search google-api-dotnet-client

我正在尝试将Google网站搜索整合到我的.NET MVC项目中,我对文档感到非常困惑。

google XML API引用绝对不会引用任何可用于搜索的代码或类。因此,我正在检索XML并手动解析它。

但是,我也遇到了Google API,我不确定这些内容是连接还是两个不同的事情,并且还混淆了为什么developers.google.com没有提及code.google的存在.COM

所以我的问题就在这里,以便结束混乱。

a)Google网站搜索(付费服务)可以与Google API一起使用,尽管XML API的开发人员部分没有相关信息吗?请注意,您不需要使用API​​密钥来使用Google网站搜索。

b)API是否是一个完全独立的实体,需要API密钥,因此不建议与Google网站搜索一起用于商业用途,因为普通付费服务不存在API限制?

c)在.NET MVC 4应用程序中实施Google网站搜索(我理解的是Google自定义搜索的付费版本)时,最佳做法是什么?要获取XML并手动解析它还是使用API​​将请求消费到反序列化对象中?

目前我正在做前者,但我一直想知道是否可以通过将我的解决方案与API相结合来生成更好,更可测试的代码。

我一直在网上找到关于这方面的混合资源,我不知道该走哪条路。

由于

2 个答案:

答案 0 :(得分:1)

我无法帮助.NET最佳实践,但可以讲述一些API。自定义搜索有两种不同的API(除了js小部件):

较旧的XML API:https://developers.google.com/custom-search/docs/xml_results 较新的JSON API:https://developers.google.com/custom-search/json-api/v1/overview

我相信你提到的图书馆是针对后者的。

付费网站搜索版的API密钥可以在控制面板google.com/cse中找到。

答案 1 :(得分:0)

使用以下步骤在ASP.Net MVC中实施Google自定义搜索引擎

添加控制器

public class SearchController : Controller  
{  
    public ActionResult Search(string SearchString)  
    {  
        ViewBag.SearchString = SearchString;  
        ViewBag.Title = "Search";  
        return View("SearchResult");  
    }  
}

添加表单以获取用户输入

<div class="searchControl">  
 @using (Html.BeginForm("Search", "Search", FormMethod.Get))   
 {  
  <div class="input-group">  
    <input type="text" name="SearchString" class="form-control" placeholder="type something and hit enter">  
   <span class="input-group-btn">  
     <input class="btn" type="submit" value="Search!"/>  
   </span>  
  </div><!-- /input-group -->  
 }  
 </div>  

添加搜索结果页

@{  
 Layout = "~/Views/Shared/_Layout.cshtml";  
 }  
  <div class="container"">  
    <div class="row">   
      <div class="col-md-12">   
        <script>  
          //put here your Google custom search engine script
        </script>   
      <gcse:search>  
      </gcse:search>   
    </div>   
  </div>  
</div>

Here是完整的分步文章,在MVC中实施Google自定义搜索引擎