从Google Custom Search API v1迁移到v2?

问题描述 投票:1回答:1

最近,客户端站点开始在控制台中发布以下警告:

此页面调用旧版本的Custom Search API,该版本已弃用,很快就会停止工作。 为避免搜索结果中断,必须将搜索结果调用更新为当前版本的自定义搜索API https://developers.google.com/custom-search/docs/element

在搜索试图弄清楚如何处理这个问题的时候,我发现了这个论坛帖子以及随后的公告本身的帖子 ,但没有明确的API迁移文档(即“如果你这样做,你应该用这个替换这个函数功能。”)

有没有人这样做谁可能知道在升级时哪里可以找到潜在陷阱列表和/或任何关于替换什么的特定说明,或者我将在两个逐个呼叫和制作之间阅读API比较两个?

google-api google-custom-search
1个回答
0
投票

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

之前的管理员使用CSE APIv1和Google的Java API构建了我网站的搜索功能。 您知道,如果您的搜索框和/或搜索结果的代码在顶部附近包含以下内容,那么您的网站正在使用Google的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,您只需要将搜索结果元素转换为GCSE API v2。 顺便说一句,我们在Drupal 7块内的网站上做了这一切。

我需要对Search Box元素进行的唯一更改是删除上面代码摘录中的第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'文件包含有关我们orginazation的CSE控制台的所有详细信息,包括我们的XXX:YYY ID。

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

© www.soinside.com 2019 - 2024. All rights reserved.