2017-04-17 49 views
1

最近一个客户的网站开始张贴在控制台以下警告:从Google自定义搜索API v1迁移到v2?

此页面调用旧版本的自定义搜索API,它被废弃了,将很快停止工作。为了避免搜索结果中断,搜索结果的调用必须更新为最新版本的自定义搜索API https://developers.google.com/custom-search/docs/element

在寻找周围试图找出如何处理这个问题我已经遇到this forum post,并随后公布本身的this post,但没有明确的API迁移文件(即“如果你这样做,你应该替换此功能与其他功能“)

有没有人做过这些谁可能知道在哪里可以找到潜在的陷阱列表,同时升级和/或什么具体说明什么要替换或我会被卡在阅读通过两个呼叫之间的API和两个比较?

+0

我认为博客文章告诉你该怎么做不是吗? https://customsearch.googleblog.com/2017/02/refocusing-and-looking-forward-on.html – DaImTo

+0

@DaImTo没有列出直接转换路径。即“如果您正在进行此调用,这是API中每个条目的替代调用”。 – CoryG

回答

0

我知道这是晚了几个月,但我刚刚在我的网站上解决了这个问题。这是很多尝试和错误,但我现在有Google Custom Search,使用API​​ v2,在我的网站上工作。我们的Google自定义搜索元素被配置为执行“双页”显示,其中搜索框元素与搜索结果元素分开。

以前的管理员使用CSE APIv1和Google的Java API构建了我的网站的搜索功能。你知道你的网站使用谷歌与自定义搜索的Java API如果您的搜索框和/或搜索结果的代码包含以下靠近顶部:

<script src="//www.google.com/jsapi" type="text/javascript"></script> //Call to Google's Java API 
<script type="text/javascript">// <![CDATA[ 
google.load('search', '1'); 
. . . some other Java functions . . . 
// ]]></script> 

<form> 
<input to javascript function X()> 
<input text from user> 
<input submit button> 
</form> 

从上面可以看出,以前的管理员也有一个非常简单的HTML表单元素,用于从用户获取数据。然后将这些数据输入到旨在与GCSE搜索框元素进行交互的javascript函数中。

保留您的网站用于搜索框元素的javascript/HTML代码;失去搜索结果元素的JavaScript/HTML。如果您的网站使用Google的Java API,那么您实际上只需将Search Results元素转换为GCSE API v2。顺便说一下,我们正在Drupal 7块内的网站上完成所有这些工作。

我需要对搜索框元素进行的唯一更改是删除上述代码摘录中的第3行 - 'google.load('search','1');.

我删除了所有以前的搜索结果元/页(我们的resultsUrl)内置的代码,并用它代替:

<script src="sites/all/themes/eu/js/gsearch.js" type="text/javascript"></script> 
<gcse:searchresults-only></gcse:searchresults-only> 

本地存储“gsearch.js”文件包含了所有的细节我们的机构CSE控制台,包括我们的XXX:YYY ID。

使用Google的Java API将数据移植到GCS,而不是在搜索框元素中使用GCSE API(任何版本)的一大优势是,它允许搜索框在搜索结果页面上工作。使用只有 GCSE API,不允许将searchbox-only和searchresults-only元素添加到同一页面(Drupal节点)。