微信公众号开发之 “高级接口” 总结

代码如下:

<?php// $weixin = new class_weixin("", "");
// var_dump($weixin->access_token);
// var_dump($weixin->lasttime);
// // var_dump($weixin->get_user_list());
// $openid = "oLVPpjkttuZTbwDwN7vjHNlqsmPs";
// var_dump($weixin->get_user_info($openid));
// $data ='{"button":[{"name":"关于我们","sub_button":[{"type":"click","name":"公司简介","key":"公司简介"},{"type":"click","name":"社会责任","key":"社会责任"},{"type":"click","name":"联系我们","key":"联系我们"}]},{"name":"产品服务","sub_button":[{"type":"click","name":"微信平台","key":"微信平台"},{"type":"click","name":"微博应用","key":"微博应用"},{"type":"click","name":"手机网站","key":"手机网站"}]},{"name":"技术支持","sub_button":[{"type":"click","name":"文档下载","key":"文档下载"},{"type":"click","name":"技术社区","key":"技术社区"},{"type":"click","name":"服务热线","key":"服务热线"}]}]}';
// var_dump($weixin->create_menu($data));
// var_dump($weixin->create_qrcode("QR_SCENE", "134324234"));
// var_dump($weixin->create_group("老师"));
// var_dump($weixin->update_group($openid, "100"));
// var_dump($weixin->location_geocoder(22.539968,113.954980));
// var_dump($weixin->upload_media("image","pondbay.jpg"));
// var_dump($weixin->send_custom_message($openid, "text", "asdf"));class class_weixin_adv
{var $appid = "";var $appsecret = "";//构造函数,获取Access Tokenpublic function __construct($appid = NULL, $appsecret = NULL){if($appid){$this->appid = $appid;}if($appsecret){$this->appsecret = $appsecret;}//hardcode$this->lasttime = 1395049256;$this->access_token = "nRZvVpDU7LxcSi7GnG2LrUcmKbAECzRf0NyDBwKlng4nMPf88d34pkzdNcvhqm4clidLGAS18cN1RTSK60p49zIZY4aO13sF-eqsCs0xjlbad-lKVskk8T7gALQ5dIrgXbQQ_TAesSasjJ210vIqTQ";if (time() > ($this->lasttime + 7200)){$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->appsecret;$res = $this->https_request($url);$result = json_decode($res, true);//save to Database or Memcache$this->access_token = $result["access_token"];$this->lasttime = time();}}//获取关注者列表public function get_user_list($next_openid = NULL){$url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=".$this->access_token."&next_openid=".$next_openid;$res = $this->https_request($url);return json_decode($res, true);}//获取用户基本信息public function get_user_info($openid){$url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=".$this->access_token."&openid=".$openid."&lang=zh_CN";$res = $this->https_request($url);return json_decode($res, true);}//创建菜单public function create_menu($data){$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$this->access_token;$res = $this->https_request($url, $data);return json_decode($res, true);}//发送客服消息,已实现发送文本,其他类型可扩展public function send_custom_message($touser, $type, $data){$msg = array('touser' =>$touser);switch($type){case 'text':$msg['msgtype'] = 'text';$msg['text']    = array('content'=> urlencode($data));break;}$url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$this->access_token;return $this->https_request($url, urldecode(json_encode($msg)));}//生成参数二维码public function create_qrcode($scene_type, $scene_id){switch($scene_type){case 'QR_LIMIT_SCENE': //永久$data = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": '.$scene_id.'}}}';break;case 'QR_SCENE':       //临时$data = '{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": '.$scene_id.'}}}';break;}$url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=".$this->access_token;$res = $this->https_request($url, $data);$result = json_decode($res, true);return "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=".urlencode($result["ticket"]);}//创建分组public function create_group($name){$data = '{"group": {"name": "'.$name.'"}}';$url = "https://api.weixin.qq.com/cgi-bin/groups/create?access_token=".$this->access_token;$res = $this->https_request($url, $data);return json_decode($res, true);}//移动用户分组public function update_group($openid, $to_groupid){$data = '{"openid":"'.$openid.'","to_groupid":'.$to_groupid.'}';$url = "https://api.weixin.qq.com/cgi-bin/groups/members/update?access_token=".$this->access_token;$res = $this->https_request($url, $data);return json_decode($res, true);}//上传多媒体文件public function upload_media($type, $file){$data = array("media"  => "@".dirname(__FILE__).'\\'.$file);$url = "http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=".$this->access_token."&type=".$type;$res = $this->https_request($url, $data);return json_decode($res, true);}//地理位置逆解析public function location_geocoder($latitude, $longitude){$url = "http://api.map.baidu.com/geocoder/v2/?ak=B944e1fce373e33ea4627f95f54f2ef9&location=".$latitude.",".$longitude."&coordtype=gcj02ll&output=json";$res = $this->https_request($url);$result = json_decode($res, true);return $result["result"]["addressComponent"];}//https请求(支持GET和POST)protected function https_request($url, $data = null){$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);if (!empty($data)){curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);}curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($curl);curl_close($curl);return $output;}
}

微信公众号开发之 “`高级接口`” 总结相关推荐

  1. 微信公众号开发之分享接口实现

    微信公众号开发之分享接口实现 第一步:先登录微信公众平台进行设置JS接口安全域名("域名不能包含http://"). 如图: 第二步:配置config接口权限验证 首先需要通过获取 ...

  2. 【微信公众号开发解决URL接口配置问题 】

    解决URL接口配置问题 1.打开ngrok.exe 2.输入ngrok http 3000(自己设置的端口) 3.复制图中网址(注意每个人的网址不同) 4.到浏览其中粘贴加上\html(我这是http ...

  3. 微信公众号开发——获取AccessToken接口调用凭据

  4. .net微信公众号开发——基础接口

    作者:王先荣     本文讲述微信公众号开发中基础接口的使用,包括以下内容:     (1)获取许可令牌(AccessToken):     (2)获取微信服务器地址:     (3)上传.下载多媒体 ...

  5. 微信公众号开发(一)环境搭建、接口信息配置

    微信公众号开发 背景 流程 第一步 申请测试公众号 第二步 创建SpringBoot 项目,实现响应接口 1. WaChatController 层 2. CheckUtil 3. SHA1加密 第四 ...

  6. 微信公众号开发(二)基础接口

    微信公众号开发(二)基础接口 未经认证的订阅号只有基础接口的权限,基础接口主要包括三个部分:接收用户消息.发送被动响应消息和接收事件推送消息,开发者需要对用户消息在5秒内立即做出回应,微信服务器在五秒 ...

  7. 招行信用卡微信公众号开发高级篇

    2013年4月,招商银行信用卡微信公众账号以"小招"的亲民形象推出,不到半年时间即获得数百万用户的青睐,经过一年多的发展,截至目前已有超过1000万+粉丝,高居银行类微信公众号榜首 ...

  8. 微信公众号开发(—)接口与服务器关联

    微信公众号开发(-) 以下都是借鉴的微信公众平台的文档加老师指点和自行的理解. 1.一台有微信的手机.(别问我老人机可以不 有微信就可以!!!) 2.需要有一个微信公众平台的测试号(订阅号,服务号也可 ...

  9. 微信公众号开发 - 配置表设计以及接入公众号接口开发

    微信公众号开发文章目录 1.微信公众号开发 - 环境搭建 2.微信公众号开发 - 配置表设计以及接入公众号接口开发 3.微信公众号开发 - token获取(保证同一时间段内只请求一次) 4.微信公众号 ...

最新文章

  1. ​【安全牛学习笔记】操作系统识别
  2. Firefox 有 6 成用户仍使用 Add-On 扩展
  3. [内核编程] 内核环境及其特殊性,驱动编程基础篇
  4. Unity Mono
  5. 每个Java开发人员都必须避免的9个安全错误
  6. Burp破解安装(1.7和2.0)
  7. C++中类和对象的一些注意事项 ---继承
  8. C# 调用其他的动态库开发应注意的问题
  9. struts2学习笔记(三) Action(上)
  10. php增加html元素,使用php将appendChild($ element)添加到现有的html元素中
  11. Paip.最佳实践-- Buildin variale 内建变量 ,魔术变量,预定义变量,系统常量,系统变量 1
  12. 更改VS主题及设置背景图片
  13. 小米摄像头有onvif协议_小米8SE、魅族16T、荣耀畅玩9A对比
  14. 陈艾盐:春燕百集访谈节目第二十三集
  15. numpy 对矩阵,数组的操作
  16. AT+CPSMS/AT+CEDRXS - NB网络PSM 和 eDRX配置参数说明
  17. 表内表外业务与中间业务
  18. 主梁弹性模量计算_2-5-2主梁内力计算范例.ppt
  19. 找出计算机系女同学的名单,计算机系女生节策划书
  20. python爬虫基础_webwechat

热门文章

  1. (86)--Python数据分析:散布图
  2. matplotlib知识点总结
  3. 每个男人都是机械控!这支全镂空机械表~获得了iF金奖等诸多大奖!
  4. php验证微信公众号开发服务器token失败的原因之一
  5. 联想小新M7208W一体机扫描功能恢复
  6. 在vscode中创建vue项目
  7. React入门基础教程
  8. win10搜索本地应用可以但是搜索网页就说预览不可用
  9. IOS-Swift面试相关基础
  10. 3dsmax 关节刷权重技巧