微信开放平台语义理解接口调用(http请求)简单方便,用户无需掌握语义理解及相关技术,只需根据自己的产品特点,选择相应的服务即可搭建一套智能语义服务。
第一步:创建应用请到“管理中心”创建应用,点击“创建移动应用”或者“创建网站应用”,填写相关资料,然后将该应用提交审核,只有审核通过的应用才能进行开发。
注册完毕,我们会在 7 个工作日内完成审核工作。审核通过之后,开放平台将分配给该移动应用全局唯一的AppID和AppSecret。
第二步:根据AppID和AppSecret获得access token调用接口:
参数说明:参数
是否必须
说明
grant_type
是
获取access_token填写client_credential
appid
是
应用的appid
secret
是
应用的appsecret
返回说明:正常情况下,微信会返回下述JSON数据包。
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200
}
参数
说明
access_token
获取到的凭证
expires_in
凭证有效时间,单位:秒
错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):
{
"errcode":40013,
"errmsg":"invalid appid"
}
第三步:使用access token调用语义理解接口输入说明:
输入参数说明:参数
是否必须
参数类型
说明
access_token
是
String
根据appid和appsecret获取到的token
query
是
String
输入文本串
category
是
String
需要使用的服务类型,多个用“,”隔开,不能为空
latitude
见接口协议文档
Float
纬度坐标,与经度同时传入;与城市二选一传入
longitude
见接口协议文档
Float
经度坐标,与纬度同时传入;与城市二选一传入
city
见接口协议文档
String
城市名称,与经纬度二选一传入
region
见接口协议文档
String
区域名称,在城市存在的情况下可省;与经纬度二选一传入
appid
是
String
Appid,开发者的唯一标识
uid
否
String
用户唯一id(非开发者id),用户区分应用下的不同用户(建议填入用户openid),如果为空,则无法使用上下文理解功能。appid和uid同时存在的情况下,才可以使用上下文理解功能。
返回说明:正常情况下,微信会返回下述JSON数据包。
{
"errcode":0,
"query":"查一下明天从北京到上海的南航机票",
"type":"flight",
"semantic":{
"details":{
"start_loc":{
"type":"LOC_CITY",
"city":"北京市",
"city_simple":"北京",
"loc_ori":"北京"
},
"end_loc": {
"type":"LOC_CITY",
"city":"上海市",
"city_simple":"上海",
"loc_ori":"上海"
},
"start_date": {
"type":"DT_ORI",
"date":"2014-03-05",
"date_ori":"明天"
},
"airline":"中国南方航空公司"
},
"intent":"SEARCH"
}
}
返回参数说明:参数
是否必须
参数类型
说明
errcode
是
Int
表示请求后的状态
query
是
String
用户的输入字符串
type
是
String
服务的全局类型id,详见协议文档中垂直服务协议定义
semantic
是
Object
语义理解后的结构化标识,各服务不同
result
否
Array
部分类别的结果
answer
否
String
部分类别的结果html5展示,目前不支持
text
否
String
特殊回复说明