有关谷歌网站搜索与谷歌API相结合的问题



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

谷歌XML API参考绝对没有引用任何可用于搜索的代码或类。因此,我正在检索XML并手动解析它。

但是,我也遇到了Google API,我不确定它们是相互关联的还是两个不同的东西,并且还困惑为什么 developers.google.com 没有提到 code.google.com 的存在

所以我在这里提出问题是为了结束混乱。

a) 谷歌

网站搜索(付费服务)可以与谷歌API一起使用,尽管在XML API的开发者部分没有关于它的信息?请注意,您不需要API密钥即可使用Google网站搜索。

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

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

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

我一直在网上找到有关此的混合资源,但我不确定该走哪条路。

谢谢

我无法帮助了解 .NET 最佳实践,但可以提供有关 API 的一些信息。自定义搜索有 2 种不同的 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 中找到。

使用以下步骤在 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>

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

相关内容

  • 没有找到相关文章

最新更新