1、首次发起请求时携带请求头,其中X-WX-Code
是调用wx.login
接口时获取的code
值,X-WX-RawData
和X-WX-Signature
分别是调用wx.getUserInfo
接口时获取的rawData
和signature
。
header: {
'X-WX-Code': 'code',
'X-WX-RawData': 'rawData',
'X-WX-Signature': 'signature',
}
2、后续请求只需携带首次请求时保存的code
作为请求。
header: {
'X-WX-Code': 'code',
}
3、异常处理
异常错误均以json
格式返回数据,数据格式如下:
{
'F2C224D4-2BCE-4C64-AF9F-A6D872000D1A': 1,
'reason'?: 'xxx',
'error': {
'name': 'xxx',
'message': 'xxx',
'detail'?: 'xxx',
},
}
其中F2C224D4-2BCE-4C64-AF9F-A6D872000D1A
是约定的唯一标识 ID,reason
标记异常的原因,error
包含错误的详细信息。
目前定义的reason
有:
ERR_SESSION_EXPIRED
: 在session
中未找到code
对应的wxUserInfo
,这里需要生成新的code
和signature
更新session
(非首次请求触发有可能触发该异常)ERR_SESSION_KEY_EXCHANGE_FAILED
:code
换取session_key
失败(首次请求有可能触发该异常)ERR_UNTRUSTED_RAW_DATA
: 不可信的rawData
,有可能是伪造的rawData
或signature
(首次请求有可能触发该异常)