這里說的微信就是微信公眾平臺,為了提高其活躍度,開發者在微信公眾帳號中加入了聊天、笑話、天氣查詢等很多功能,但這些功能已經沒有什么特別之處,為了區別讓自己的公眾帳號擁有與眾不同的地方,就需要開發一些有創意的功能。本文就講解如何通過圖靈機器人api接口實現“成語接龍”,關于圖靈機器人,就不多介紹,大家可以去看一下官方網站:
http://www.tuling123.com
實現步驟:
1、注冊圖靈機器人api,獲取接口key。
圖靈機器人網站:http://www.tuling123.com/
郵箱注冊,激活即可。
2、封裝參數,key、info、userid
/**
* 封裝http請求的url參數
* @return url
*/
public String formatUrl(String info){
/** 此處為圖靈api接口
* key:第一步中注冊圖靈機器人帳號即可得到,以11111111代替
* info:發送給微信的內容,進入成語接龍模式可以用“成語接龍”
* userid:區分自己的用戶,微信可以用微信的openid */
info = "成語接龍";
String apiUrl = "http://www.tuling123.com/openapi/api?key=11111111&info="+info+"&userid=********";
return apiUrl;
}
3、編寫httpget請求方法
/**
* 發送httpget請求
* @param param 請求鏈接和參數
* @return 結果
*/
public String getProcess(Stringparam){
/** 發送httpget請求 */
HttpGet request = new HttpGet(param);
String result = "";
try {
HttpResponseresponse = HttpClients.createDefault().execute(request);
if(response.getStatusLine().getStatusCode()==200){
result =EntityUtils.toString(response.getEntity());
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
4、調用圖靈機器人接口
/**
* 請求圖靈機器人接口,并解析結果數據
* @param info 請求內容
*/
public void getResult(String info){
/** 獲取url */
String url =formatUrl(info);
/** 發送http get請求,獲取圖靈機器人接口結果 */
String result =getProcess(url);
/** 解析圖靈機器人接口返回結果 */
try {
JSONObject json = new JSONObject(result);
//成語接龍模式code=100000
if(100000==json.getInt("code")){
result =json.getString("text");
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
5、在通過“成語接龍”進入成語接龍模式之后,循環調用接口,即可實現圖片中展示的效果。
總結,在成語接龍功能的實現過程中,上下文的關聯是最重要的,這也是圖靈機器人接口的強大之處。userid參數正是區分不同的用戶、對同一個用戶前后語義實現關聯的標志,所以,想要實現成語接龍的功能,一定要傳userid。
上一篇 技術人的未來(一)――跳槽