微信平台开发学习笔记二(翻译功能的实现)
来源:互联网 发布:华为手机免费网络硬盘 编辑:程序博客网 时间:2024/06/05 17:12
参考http://www.cnblogs.com/mchina/p/3170565.html
不过看看这些前辈写这些东西的时间,就是感慨啊,13年我还没用微信呢
这里只是简单的实现有道的翻译功能,并且是以xml形式,具体的可以看上面的网址
首先要进入有道API入口http://fanyi.youdao.com/fanyiapi
在其中点击调用数据接口,然后填写数据就可以了,这里面的应用名称最好填英文,后面会用到,至于应用的网站,我测试的时候随便填写一个都可以达到效果,所以我觉得没有什么用。
填写完后点击申请,然后会出现API key和keyfrom,然后往下,会告诉你如何接入接口
如下
数据接口
版本:1.1,请求方式:get,编码方式:utf-8
主要功能:中英互译,同时获得有道翻译结果和有道词典结果(可能没有)
参数说明:
type - 返回结果的类型,固定为data
doctype - 返回结果的数据格式,xml或json或jsonp
version - 版本,当前最新版本为1.1
q - 要翻译的文本,必须是UTF-8编码,字符长度不能超过200个字符,需要进行urlencode编码
only - 可选参数,dict表示只获取词典数据,translate表示只获取翻译数据,默认为都获取
注: 词典结果只支持中英互译,翻译结果支持英日韩法俄西到中文的翻译以及中文到英语的翻译
errorCode:
0 - 正常
20 - 要翻译的文本过长
30 - 无法进行有效的翻译
40 - 不支持的语言类型
50 - 无效的key
60 - 无词典结果,仅在获取词典结果生效
xml数据格式举例
http://fanyi.youdao.com/openapi.do?keyfrom=chdego&key=1347056326&type=data&doctype=xml&version=1.1&q=这里是有道翻译API
<?xml version="1.0" encoding="UTF-8"?>
<youdao-fanyi>
<errorCode>0</errorCode>
<!-- 有道翻译 -->
<query><![CDATA[这里是有道翻译API]]></query>
<translation>
<paragraph><![CDATA[Here is the youdao translation API]]></paragraph>
</translation>
</youdao-fanyi>
上面的数据格式是通过给定的网址返回的
具体代码如下
public function youdaoDic($object, $words) { $keyfrom = 'chdego'; $apikey = '134056326'; $doctype = 'xml'; // 这个地址返回的是XML文件 $url_youdao = 'http://fanyi.youdao.com/openapi.do?keyfrom=' . $keyfrom . '&key=' . $apikey; $url_youdao = $url_youdao . '&type=data&doctype=' . $doctype . '&version=1.1&q=' . $words; // 将XML文件载入对象中 $xmlStyle = simplexml_load_file($url_youdao); $errorCode = $xmlStyle->errorCode; // 获取错误码 $paras = $xmlStyle->translation->paragraph; // 获取翻译的内容 switch ($errorCode) { case 0: return $this->transmitText($object, $paras); break; case 20: return $this->transmitText($object, '要翻译的文本过长'); break; case 30: return $this->transmitText($object, '无法进行有效翻译'); break; case 40: return $this->transmitText($object, '不支持的语言类型'); break; case 50: return $this->transmitText($object, '无效的key'); break; case 60: return $this->transmitText($object, '无词典结果,仅在获取词典结果生效'); break; } }
最后附上第二次改进后的代码
https://github.com/moluchase/WeChatTest/blob/master/wechattest.php
- 微信平台开发学习笔记二(翻译功能的实现)
- 微信公众平台开发(六) 翻译功能开发
- 微信公众平台开发(六) 翻译功能开发
- 微信公众平台开发(六) 翻译功能开发
- 微信公众平台开发(六) 翻译功能开发
- 微信公众平台开发(六) 翻译功能开发
- 微信公众平台开发(六) 翻译功能开发
- 微信公众平台开发(六) 翻译功能开发
- 微信公众平台开发(六) 翻译功能开发
- 微信公众平台开发学习笔记·二
- 微信公众平台开发5:翻译功能
- 微信公众平台开发(PHP)(六) 翻译功能开发
- 微信/易信公共平台开发(二):自定义菜单的PHP实现(提供源码)
- 微信公众平台开发笔记(二)
- 微信平台开发学习笔记一
- PHP学习笔记(一):开发微信平台
- 编译原理学习笔记(二)翻译程序的实现
- 使用Delphi Xe8 开发微信功能 -- (二)微信支付商户平台之查询订单详情
- angularJs测试环境搭建(一)
- 从java 反射看延迟加载(代理模式)(二)
- CMD常用命令
- HBase简介(转载)
- Myeclipse工具使用小技巧
- 微信平台开发学习笔记二(翻译功能的实现)
- shell脚本清空系统message日志
- Ugly Number
- javascript笔记(八)
- 面试题:C++汇总
- 有些文件(如exe文件)安装前,为什么要安装.NET Framework?
- C++设计模式——状态模式
- 第7天 构造函数、this关键字、静态修饰符static
- Java程序员面试题集(51-70)