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