本文实例讲述了php版微信自动获取收货地址api用法。分享给大家供大家参考,具体如下:
微信公众平台现在是越来越强大了,我们可以通过各种api接口来与平台对接获取对应的数据了,下面来看一个由php实现的微信自动获取收货地址api程序,具体如下.
关于接口的说明我就不介绍了,在官方可以看到下面只看处理程序.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
public function get_address_api() { $APPID =C( 'APPID' ); $SCRETID =C( 'SCRETID' ); if (!isset( $_GET [ 'code' ])) { $backurl = $this ->get_url(); $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . $APPID . "&redirect_uri=" .urlencode( $backurl ). "&response_type=code&scope=jsapi_address&state=123#wechat_redirect" ; // snsapi_userinfo Header( "Location: $url" ); exit ; } else { $code = $_GET [ 'code' ]; $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" . $APPID . "&secret=" . $SCRETID . "&code=" . $code . "&grant_type=authorization_code" ; $re = file_get_contents ( $url ); $rearr = json_decode( $re ,true); $backurl = $this ->get_url(); $openid = $rearr [ 'openid' ]; $unionid = $rearr [ 'unionid' ]; $asstoken = $rearr [ 'access_token' ]; S( 'jsapi_address_token' . $openid , $asstoken ,7200); $data [ 'appid' ]= $APPID ; $data [ 'url' ]= $backurl ; $data [ 'timestamp' ]=time(); $data [ 'timestamp' ]= (string)( $data [ 'timestamp' ]); $data [ 'noncestr' ]= $this ->getRandStr(10); $data [ 'accesstoken' ]= $asstoken ; foreach ( $data as $k => $v ) { $Parameters [ $k ] = $v ; } //签名步骤一:按字典序排序参数 ksort( $Parameters ); $String = $this ->formatBizQueryParaMap( $Parameters , false); $data [ 'addrsign' ]=SHA1( $String ); $this ->assign( 'data' , $data ); } $this ->siteDisplay( 'address_api' ); } |
希望本文所述对大家PHP程序设计有所帮助。