PHP
·
发表于 5年以前
·
阅读量:8308
本文实例讲述了php版微信自动获取收货地址api用法。分享给大家供大家参考,具体如下:
微信公众平台现在是越来越强大了,我们可以通过各种api接口来与平台对接获取对应的数据了,下面来看一个由php实现的微信自动获取收货地址api程序,具体如下.
关于接口的说明我就不介绍了,在官方可以看到下面只看处理程序.
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相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。