这里说的微信就是微信公众平台,为了提高其活跃度,开发人员在微信公众帐号中增加了聊天、笑话、天气查询等非常多功能。但这些功能已经没有什么特别之处,为了差别让自己的公众帐号拥有与众不同的地方。就须要开发一些有创意的功能。
本文就解说怎样通过图灵机器人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。