我们有一个 Google CSE(自定义搜索引擎),并构建了一个脚本来通过我们自己的 Web 界面通过 API 管理其促销活动。该脚本已经运行了三年多,但现在失败了。它在今年 2 月 6 日起作用,这是我们今天之前最后一次使用它。
API 的文档在这里(与我们很久以前开发脚本时相比似乎没有变化): https ://developers.google.com/custom-search/docs/api#create_promos
我们可以连接和授权,但是当我们尝试发送添加、更新或删除促销所需的 XML 时,什么也没有发生。我们返回了一个包含 20 个促销活动的列表,但没有发生预期的操作。没有任何类型的错误消息。
我们在这里的两台服务器上试过这个。一个显示200代码,另一个显示302。前者使用ColdFusion 9,后者使用ColdFusion 10;两者都使用 cfhttp 发送 XML。也许响应代码与那里的一些差异有关。这并不能解释为什么我们多年来一直使用的服务器上运行的脚本现在失败了。
Google CSE API 是否仍然像过去一样工作?关于修复我们的脚本有什么建议吗?现在还有其他方法可以通过 API 使用 CSE 促销吗?
使用 API 的代码:
<cfhttp url="#cseURL#" method="post" result="postResult">
<cfhttpparam type="header" name="Authorization" value="GoogleLogin auth=#Auth#">
<cfhttpparam type="XML" value="#xml.trim()#">
</cfhttp>
我们发送的 XML 示例:
<Batch><Remove><Promotions><Promotion id="06DD467E-B663-437D-F94B4EB6DA0B13AF" /></Promotions></Remove></Batch>
#Auth# 变量包含根据 API 文档生成的授权代码,并且似乎是有效的;通过较早的 API 调用生成它时没有错误消息。
#cseURL# 变量包含记录格式的正确 URL:https: //www.google.com/cse/api/#USER_ID#/promotions/#CSE_ID#
在此先感谢您的指点或建议。
-肯