微信公众平台消息接口开发(3)中英翻译

您所在的位置:网站首页 微信公众号的英文是什么 微信公众平台消息接口开发(3)中英翻译

微信公众平台消息接口开发(3)中英翻译

#微信公众平台消息接口开发(3)中英翻译| 来源: 网络整理| 查看: 265

要做一个翻译账号,有以下几步:

一. 有翻译接口:

目前有道词典提供了翻译接口,申请地址 http://fanyi.youdao.com/openapi?path=data-mode

下面是申请介绍:

申请完成后,会收到邮件,邮件中有api key:

数据接口 http://fanyi.youdao.com/openapi.do?keyfrom=&key=&type=data&doctype=&version=1.1&q=要翻译的文本

版本:1.1,请求方式:get,编码方式:utf-8

主要功能:中英互译,同时获得有道翻译结果和有道词典结果(可能没有)

参数说明:

 type - 返回结果的类型,固定为data  doctype - 返回结果的数据格式,xml或json或jsonp  version - 版本,当前最新版本为1.1  q - 要翻译的文本,必须是UTF-8编码,字符长度不能超过200个字符,需要进行urlencode编码 errorCode:  0 - 正常  20 - 要翻译的文本过长  30 - 无法进行有效的翻译  40 - 不支持的语言类型  50 - 无效的key

 

json数据格式举例

http://fanyi.youdao.com/openapi.do?keyfrom=&key=&type=data&doctype=json&version=1.1&q=good

{ "errorCode":0 "query":"good", "translation":["好"], // 有道翻译 "basic":{ // 有道词典-基本词典 "phonetic":"gʊd" "uk-phonetic":"gʊd" //英式发音 "us-phonetic":"ɡʊd" //美式发音 "explains":[ "好处", "好的" "好" ] }, "web":[ // 有道词典-网络释义 { "key":"good", "value":["良好","善","美好"] }, {...} ] }

 

 

二 程序实现:

有道翻译的源码:需要自己申请key,然后填入

 

 

微信调用

define("TOKEN", "qq612312312312"); $wechatObj = new wechatCallbackapiTest(); $wechatObj->responseMsg(); class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature()){ echo $echoStr; exit; } } public function responseMsg() { //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; logger("R ".$postStr); //extract post data if (!empty($postStr)){ $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $RX_TYPE = trim($postObj->MsgType); switch ($RX_TYPE) { case "text": $resultStr = $this->receiveText($postObj); break; case "event": $resultStr = $this->receiveEvent($postObj); break; default: $resultStr = "unknow msg type: ".$RX_TYPE; break; } logger("T ".$resultStr); echo $resultStr; }else { echo ""; exit; } } private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } private function receiveText($object) { $funcFlag = 0; $keyword = trim($object->Content); $resultStr = ""; $cityArray = array(); $contentStr = ""; $needArray = false; $illegal = false; $saytome = false; if (1 == 1){ $contentStr = translate($keyword); $resultStr = $this->transmitText($object, $contentStr, $funcFlag); return $resultStr; } //Content 消息内容,大小限制在2048字节,字段为空为不合法请求 return $resultStr; } private function receiveEvent($object) { $contentStr = ""; switch ($object->Event) { case "subscribe": $contentStr = "请直说,我将为你自动翻译"; break; case "unsubscribe": $contentStr = ""; break; case "CLICK": switch ($object->EventKey) { default: $contentStr = "receive a eventkey: ".$object->EventKey; break; } break; default: $contentStr = "receive a new event: ".$object->Event; break; } $resultStr = $this->transmitText($object, $contentStr); return $resultStr; } private function transmitText($object, $content, $flag = 0) { $textTpl = " %s %d "; $resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content, $flag); return $resultStr; } }

 

四,效果演示

 

中文翻译成英语

 

 

 

==================================

欢迎关注方倍工作室微信,了解我们及行业的最新动态

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3