微信公众平台消息接口开发(13)多语种互译
2014-03-21 10:27
357 查看
<?php class AccessTokenAuthentication { /* * Get the access token. * * @param string $grantType Grant type. * @param string $scopeUrl Application Scope URL. * @param string $clientID Application client ID. * @param string $clientSecret Application client ID. * @param string $authUrl Oauth Url. * * @return string. */ function getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl){ try { //Initialize the Curl Session. $ch = curl_init(); //Create the request Array. $paramArr = array ( 'grant_type' => $grantType, 'scope' => $scopeUrl, 'client_id' => $clientID, 'client_secret' => $clientSecret ); //Create an Http Query.// $paramArr = http_build_query($paramArr); //Set the Curl URL. curl_setopt($ch, CURLOPT_URL, $authUrl); //Set HTTP POST Request. curl_setopt($ch, CURLOPT_POST, TRUE); //Set data to POST in HTTP "POST" Operation. curl_setopt($ch, CURLOPT_POSTFIELDS, $paramArr); //CURLOPT_RETURNTRANSFER- TRUE to return the transfer as a string of the return value of curl_exec(). curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE); //CURLOPT_SSL_VERIFYPEER- Set FALSE to stop cURL from verifying the peer's certificate. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //Execute the cURL session. $strResponse = curl_exec($ch); //Get the Error Code returned by Curl. $curlErrno = curl_errno($ch); if($curlErrno){ $curlError = curl_error($ch); throw new Exception($curlError); } //Close the Curl Session. curl_close($ch); //Decode the returned JSON string. $objResponse = json_decode($strResponse); if ($objResponse->error){ throw new Exception($objResponse->error_description); } return $objResponse->access_token; } catch (Exception $e) { echo "Exception-".$e->getMessage(); } } } /* * Class:HTTPTranslator * * Processing the translator request. */ Class HTTPTranslator { /* * Create and execute the HTTP CURL request. * * @param string $url HTTP Url. * @param string $authHeader Authorization Header string. * * @return string. * */ function curlRequest($url, $authHeader){ //Initialize the Curl Session. $ch = curl_init(); //Set the Curl url. curl_setopt ($ch, CURLOPT_URL, $url); //Set the HTTP HEADER Fields. curl_setopt ($ch, CURLOPT_HTTPHEADER, array($authHeader)); //CURLOPT_RETURNTRANSFER- TRUE to return the transfer as a string of the return value of curl_exec(). curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE); //CURLOPT_SSL_VERIFYPEER- Set FALSE to stop cURL from verifying the peer's certificate. curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, False); //Execute the cURL session. $curlResponse = curl_exec($ch); //Get the Error Code returned by Curl. $curlErrno = curl_errno($ch); if ($curlErrno) { $curlError = curl_error($ch); throw new Exception($curlError); } //Close a cURL session. curl_close($ch); return $curlResponse; } } try { //Client ID of the application. $clientID = "clientId"; //Client Secret key of the application. $clientSecret = "ClientSecret"; //OAuth Url. $authUrl = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/"; //Application Scope Url $scopeUrl = "http://api.microsofttranslator.com"; //Application grant type $grantType = "client_credentials"; //Create the AccessTokenAuthentication object. $authObj = new AccessTokenAuthentication(); //Get the Access token. $accessToken = $authObj->getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl); //Create the authorization Header string. $authHeader = "Authorization: Bearer ". $accessToken; //Set the params. $sentence = "rephrasing is a hard problem for the computer."; $language = "en-us"; $category = "general"; $maxParaphrase = '6'; $params = "sentence=".urlencode($sentence)."&language=$language&category=$category&maxParaphrases=$maxParaphrase"; //HTTP paraphrase URL. $paraphraseUrl = "http://api.microsofttranslator.com/v3/json/paraphrase?$params"; //Create the Translator Object. $translatorObj = new HTTPTranslator(); //Call the curlRequest. echo $curlResponse = $translatorObj->curlRequest($paraphraseUrl, $authHeader); } catch (Exception $e) { echo "Exception: " . $e->getMessage() . PHP_EOL; } /* * Create and execute the HTTP CURL request. * * @param string $url HTTP Url. * @param string $authHeader Authorization Header string. * @param string $postData Data to post. * * @return string. * */ function curlRequest($url, $authHeader) { //Initialize the Curl Session. $ch = curl_init(); //Set the Curl url. curl_setopt ($ch, CURLOPT_URL, $url); //Set the HTTP HEADER Fields. curl_setopt ($ch, CURLOPT_HTTPHEADER, array($authHeader,"Content-Type: text/xml")); //CURLOPT_RETURNTRANSFER- TRUE to return the transfer as a string of the return value of curl_exec(). curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE); //CURLOPT_SSL_VERIFYPEER- Set FALSE to stop cURL from verifying the peer's certificate. curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, False); //Execute the cURL session. $curlResponse = curl_exec($ch); //Get the Error Code returned by Curl. $curlErrno = curl_errno($ch); if ($curlErrno) { $curlError = curl_error($ch); throw new Exception($curlError); } //Close a cURL session. curl_close($ch); return $curlResponse; }
View Code
相关文章推荐
- 微信公众平台消息接口开发(13)多语种互译
- 微信公众平台消息接口开发(13)多语种互译
- 微信公众平台消息接口开发(13)多语种互译
- 微信公众平台消息接口开发(13)多语种互译
- 微信公众平台消息接口开发(13)多语种互译
- 微信公众平台消息接口开发(13)多语种互译
- 微信公众平台消息接口开发(13)多语种互译
- 微信公众平台消息接口开发(8)小黄鸡(小贱鸡)机器人
- 微信公众平台消息接口开发(4)天气预报
- 微信公众平台消息接口开发(6)电话号码链接与网址链接
- 微信公众平台消息接口开发(22)图片识别之漂亮指数/帅气指数
- 微信公众平台消息接口开发(29)校验签名与消息响应合并
- 微信公众平台消息接口开发(12)消息接口Bug
- 微信公众平台消息接口开发(20)图片识别之人脸识别
- 微信公众平台开发教程(二) 基本原理及消息接口总结
- 微信公众平台消息接口开发(32)空气质量指数查询
- 微信公众平台 消息接口 - 消息接口开发 ,彩票开奖查询 彩票接口
- 微信公众平台消息接口开发(11)地理位置查询 当地天气及附近商家
- 微信公众平台消息接口开发(29)校验签名与消息响应合并
- 微信公众平台消息接口开发(5)股票查询