/** * 调用微信接口,重新获取access_token * @return string */ private function _getNewAccessToken() { // 获取新的access_token $apiUrl = sprintf($this->_apiUrl, APP_ID, APP_SECRET); $newAccessToken = Curl::doCurl($apiUrl); // 判断是否获取成功 if (!$newAccessToken['errcode'] && !empty($newAccessToken['access_token'])) { // 将新获取的access_token更新到数据库 $c_time = time() - 200; // 将获取到的时间提前一点 $mysql = new SaeMysql(); $sql = "SELECT `c_time`, `t_value` FROM `weixin_access_token`"; $data = $mysql->getData($sql); //$data = DbPDO::table('weixin_access_token')->find(); if (!$data) { // 首次插入 //DbPDO::table('weixin_access_token')->where(array('id'=>1))->add(array('c_time' => $c_time, 't_value' => $newAccessToken['access_token'])); $sql = "INSERT INTO `weixin_access_token` (`c_time`, `t_value`) VALUES ({$c_time}, " . $newAccessToken['access_token'] . ")"; } else { // 修改 //DbPDO::table('weixin_access_token')->where(array('id'=>1))->save(array('c_time' => $c_time, 't_value' => $newAccessToken['access_token'])); $sql = "UPDATE `weixin_access_token` SET `c_time` = {$c_time} , `t_value` = " . $newAccessToken['access_token'] . " WHERE id = 1"; } $mysql->runSql($sql); $mysql->closeDb(); } else { throw new Exception($newAccessToken['errcode'] . '-' . $newAccessToken['errmsg']); } return $newAccessToken['access_token']; }
/** * 获取自定义菜单配置接口 * URL https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_info?access_token=ACCESS_TOKEN */ public function config() { $queryApiUrl = "https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_info?access_token=" . $this->_accessToken; $result = Curl::doCurl($queryApiUrl); return $result; }
/** * 注意本接口是删除一个用户分组,删除分组后,所有该分组内的用户自动进入默认分组。 接口调用请求说明 * http请求方式: POST(请使用https协议) * https://api.weixin.qq.com/cgi-bin/groups/delete?access_token=ACCESS_TOKEN * POST数据格式:json * POST数据例子:{"group":{"id":108}} **/ public function delete($data) { $url = 'https://api.weixin.qq.com/cgi-bin/groups/delete?access_token=' . $this->_accessToken; $result = Curl::doCurl($url, $data); return $result; }
public function location_geocoder($latitude, $longitude) { $url = "http://api.map.baidu.com/geocoder/v2/?ak=B944e1fce373e33ea4627f95f54f2ef9&location=" . $latitude . "," . $longitude . "&coordtype=gcj02ll&output=json"; $result = Curl::doCurl($url); return $result["result"]["addressComponent"]; }
/** * 二维码请求说明 * http请求方式: POST * URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN * POST数据格式:json * * 临时二维码参数格式 * POST数据例子:{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}} * * 永久二维码参数格式 * POST数据例子:{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 123}}} * 或者也可以使用以下POST数据创建字符串形式的二维码参数: * {"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_str": "123"}}} * * 参数说明 * expire_seconds 该二维码有效时间,以秒为单位。 最大不超过1800。 * action_name 二维码类型,QR_SCENE为临时,QR_LIMIT_SCENE为永久,QR_LIMIT_STR_SCENE为永久的字符串参数值 * action_info 二维码详细信息 * scene_id 场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000) * scene_str 场景值ID(字符串形式的ID),字符串类型,长度限制为1到64,仅永久二维码支持此字段 */ function create($data) { $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" . $this->_accessToken; $result = Curl::doCurl($url, $data); return $result; }