微信公众平台开发自定义菜单===.doc

上传人:scccc 文档编号:12151235 上传时间:2021-12-02 格式:DOC 页数:13 大小:172.50KB
返回 下载 相关 举报
微信公众平台开发自定义菜单===.doc_第1页
第1页 / 共13页
微信公众平台开发自定义菜单===.doc_第2页
第2页 / 共13页
微信公众平台开发自定义菜单===.doc_第3页
第3页 / 共13页
微信公众平台开发自定义菜单===.doc_第4页
第4页 / 共13页
微信公众平台开发自定义菜单===.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《微信公众平台开发自定义菜单===.doc》由会员分享,可在线阅读,更多相关《微信公众平台开发自定义菜单===.doc(13页珍藏版)》请在三一文库上搜索。

1、微信公众平台开发自定义菜单一.自定义菜单概述n庄义養血佑楼轲.么众弓丨官界叭 让用户更好更快地理簞处众号的功恢 rn«x*rj处众号界疋帕医哺示,二、申请自定义菜单个人订舗弓只ffiWWTrt«4无汝丿1及企时订働号通itttfi认讥 可以申清刘“定又料戏祸 赵务弓M认有莫皿叙瑕三、获得 Appld 和 AppSecertAppld WAppSecret K 发询中。丿i X# ID 中.»>l »«!-配置项接口报警开发1HDAppID(应用ID) wx90*WWw侧阪AppSecret(tifflH) 7f*t*t<w<*

2、<*>*38 二V7 T:http /www cnblogs com/txw1958/股务器氐査(未启用)悸改妃董启曲设置嚴务押配畫后用户发给公众号的淸昆以及开发者融的駙號送.将如信转发到该URL中四. 获得 Access TokenR apptd oppsecevt access token權口为hctps:/api woMn qqcon*/cghbirDk«n >grant_typosclcM_credenU2Mkappid»APPXOtaQCTet«APPSECRET电序实:*知卜$appid = WM;$appsccrct = ”&quo

3、t;;$url = Hhttps:/api.weixin.qq.coni/cgi-bin/tokcn?granCtype=client_credcntial&appid=$appid&secrct=Sappsccrct°$ch = curl_init();curLsetopt($ch, CURLOPTURL, $url);curLsetopt($ch, CURLOPT_SSL_VER1FYPEER, FALSE);curLsetopt($ch. CURLOPT_SSL_VER1FYHOST. FALSE);curLsctopt($ch. CURLOPT.RETURNT

4、RANSFER, I);Soutput = curLcxec(Sch);curLclose($ch);$jsoninfo = json_dccodc(Soutput, true);$acccss_lokcn = $j8oninfdMaccessjokcnn;些你也町以克復吝綁KT3池址栏中折樓小宅址快柠后秩用划卜徴养,acccssjokenM:MN2L7KXa()84WvclONYjkJjraBMCC7_UKmpUUzlrQOEA2yNp31z6cSUrRGObhaR_viswd5()vDuPkY5nG43dlgbm-omKRMxOsVE0«RtcD9lvK9IMguNG9kpikK

5、GZEjlffiJv2m9fl;hfXbnNa-yQH3g, "expires JnH:7200$馥说明io b参数迎明access_token获取到的凭证expiresjn凭证有效时何.单位:杪只中的N2L7KXaO84WvelONYjkJ traBMCCvy IKmplUz1rQ0EA2yNp3Iz6eSUrRG0bhaR viswd50vl)uPkY5nG43dlgbm olT2KRMx0sVE08RfeD91vK 91MguNG9kpIkKGZEjIf8Jv2m9fFhf8bnNa-yQlI3g鏡是 acotts token.一接口妲:二接口列表:三、參数列衰:* grant

6、.type:* appid:* secret:或宵経用代的接口曲氏工貝.俺址加方法:GET墓础支持获取accessJokenS 口 tokenclientcredential|flRaccessjokenSldient.aedential校验遇过vx629268asdsvkui892i«appid枝砂1过3079cb22ad383ae7371d12aed1b2cWappsecret 校删过基础支持:获取accessJoken接口 /token诗求地址:返回结栗:200 0KConnection: keep-aliveContent-Length: 101Content-Type: a

7、pplication/json; encoding=utf-8Date: Frl, 02 May 2014 11:58:14 GMTServer nginx/1.4.4( * access Joken: 17OFVZA4UGrw 一 hKMxGS;© mwNThtklPmYKNOLVWWDRSdhHGi KyKxtKdXCc expiresjn:)提示:濟求成功这IT也茯帯了 “CMS 如五. 组织菜用内容nax*aa«bK click:点击推事件用户点击click类型按钮后.微俏服务器会通过消息接I I推送消息类型为event的结构给开发者(参考消息接11指南儿并且带上按

8、钮厂开发者填写的key值,开发者可以通过白定义的key值与用户进行交互:2、view:跳转 URL用户点击vie评类型按钮后,微借客户端将会打开开发者在按钮中填写的网页URL,可与网页授权获取用户基本借息接I I结合, 获得用户基本佶息。3、scancodc push:扫码推事件用户点击按钮后,微信客户端将调起打打工貝,完成打码操作后显示打描结果(如果是URL.将进入URL),且会将打码的结 果传给开发者,开发者叮以下发消息。4、scancode waitmsg:扫码推爭件IL弹出“消息接收中”提示框用户点击按钮后,微信客户端将调起打一M工貝,完成打码操作后.将疔码的结果传给开发者,冋时收起扫

9、一打工貝.然后弹 出“消息接收门”提示框,随后町能会收到开发者卜发的消息。5、pic_sysphoto:弹出系统拍照发图用户点缶按钮后,微信客户端将调起系统相机,完成拍照操作后,会将拍摄的书片发送给开发者,并推送爭件给开发者,同时 收起系统相机,随后M能会收到开发者下发的消息。6、pic photo or album:弹出拍照或者相册发图用户点击按钮后,微佶客户端将弹出选择器供用户选择“拍照”或者“从手机用册选择” 用户选择后即走其他两种流程 pic weixin:弹出微信相册发图器用户点希按钮后,微信客户端将调起微信相册,完成选择操作后,将选择的相片发送给开发者的服务器,并推送爭件给开发者,

10、 冋时收起相册,随后可能会收到开发者下发的消息。& location select:弹出地理位置选择器用户点击按钮后,微信客户端将调起地理位宽选择TR,完成选择操作后,将选择的地理位置发送给开发者的服务器,同时收 起位置选择T.K,随后可能会收到开发者卜发的消息。9、media id:下发消息(除文本消息用户点击media id类型按钮后,微信眼务器会将歼发者填写的水久素材id対应的索材下发给用户,水久索材类型可以是图片. 音频、视频、图文消息。请注意:/k久素材id必须是在“素材管理/新増水久奈材”接II上传后获得的合法id。10x view limited:跳转图文消息URL用户点

11、击vie誓limited类型按钮后,微信客户端将打开开发者在按钮中填写的永久素材id对应的图文消息IRL,永久素材类 型只支持图文消息。请注意:永久素材id必须是在“索材管理/新地永久素材'接II上传后获得的合法id。httpPOSThttps »«) htu>s:/api wei>rtn.Q TOKEN"button":,tyPc,:HclickM.Fame”:”今口歌曲:"kcy'1 ” V1001 _TODA Y_MUS1C” h ntypcM:Mclick” name”:”歌手简介”,” kcy”:”V100

12、1_TODAY_SlNGER” ” name”:” 菜单”,Msub_button*:(,typcM:,vieww,"name":"搜索”.” ufT 丫'http:/www.soso.coMI.,typcM:,view*,Fang视频”.,urr,:w7,*,” type”:”c1ick”, FamcT赞一下我们3 FcyVVIOOLGOOD”心参数是否必皱说明button sub_button足否一级菜笊数纽.个数应为13个二级菜单数组,个数应为15个type是菜敢的响应动作类型.口前有click、view两 种类型n ame足菜笊标题.不削过16个字

13、廿.子菜单不趙过40个字廿key urlclick类型必须view类型必菜悚KEY值.用丁消息接I推送不超过128网贝诜接,用户点击菜"可打卅铁接,不超过256字芳JSON孜朋钏卜,(erreode*:0, errmsg*:"ok"JSON(示何为无浸莘单直长发),*crrcodex:40018, ernnsg*:"invalid button name size*六、提交菜瞧内容给服务器菜总的JSON纳构为V,bunon,:KHnamcH:,7< 气预报 “CiibJnignWiypeTclickTnamc”:” 北京天气 *?吗吓夭气北京typ

14、eTdieTJname-:-上海天气Tkey”:”天气上海-ftype”:”clickTname呼广州天气TkeyT天气广州M)4Htypcr,:Hclickwname":w深圳天气Tkey”:”天气深圳 Tftypd'ViewTnameT 本地天气 Tu!T':”http:/mhao Msub_buiton,:wtypcM:wclickM;nameM:M 公司简介 TkcyTcompany”h”typc”:”clicrTnmne”:“ 趣味游戏 T key 叩游戏 WiypcTclic 上 Tnamc”:” 讲个笑话 TkcyT 笑话”为menu*p管K在诃无幽中汪

15、村法文ft比知http:/127.ao.l/meruRp)转立楼向谢?眾發交鞅i.<?php$appid = MaaaaaaM;$appsccret = ,bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbn;$url = H &appid=$appid&sccrcl=Sappsccrer;$output = https.rcqucst($url);Sjsoninfo = json_dccodc(Soutputt true);$acccss_token = $jsoninfbMaccess_tokcnnJ;$jsonmcnu = *MbuttonMl fa

16、me%-夭气预报“, ”snb_biittorr:l” typefclick: FameT北京犬气”, ” kcyT犬气北京”MtypeM:HclickK, "name":” 上海 TceyV夭气上海"MtypcM:,click-,FamcT广州夭气”,"keyT犬气广州"MtypcM:,clickM,FamcT深圳天气”,TwyV天气深圳”). TypcTvicw”.Fame”:”本地天气J"url”:”hllp:/mhao 123.coni/a/tianqi" h” namcT方倍工作室”,sub_buttonw:l”

17、typcclick: "name":”公司简介 "kcy”:”company”, MtypcM:,clickM,Mname":n趣味游戏J "key-:11 游戏”,“lypcTclicIc”, Fame于讲个笑话;” key*1:” 笑话”$url = " bin/mcnu/crearc?acccss_K)kcn="*$Bcccss_tokcn; $rcsult = https_request(Surl, $jsomncnu);var_dump($rcsult);function https_requcst($url,Sd

18、ata = null)$curl = curUnit();curLsctopt($curl, CURLOPT_URL. $url);curLsctopt($curl, CURL()PT_SSL_VERIFYPEER, FALSE);curLsctopt($curl, CURLOPT_SSL_VER1FYHOST, FALSE);if (!empty(Sdata)curbs 洪 op【($curl, CURLOPT_POST. 1);curLstopt($curl, CURLOFr_POSTFIELDS. $data);curLsctopt($curl, CURLOPT_RETURNTRANSF

19、ER, 1);Soutput = curLexcc(Scuri);curLclose(l>curl);return Soutput;)?>一、接口樂晏: 二接口列JR : 三.夢数列衷:v accessjoken:* body:自定义菜草创健接口 /menu/create7OFVZA4UGny_hKMxG5xzcmwfT调用接口凭证 校骏通过: button1*: : nane":"天气預报wsub_buttonw:【:- "click", "narec*1: 北京天XR,Rkeyw: 天吒北京T. CtiTe": &qu

20、ot;click", "narae-:-上海天气 J 八"厂:吠< "tiTe": RclickM,:-广州天气"#HkeyR: 天吒广州n,"type-: -click", -naae": 深圳天-key-: 天丸深圳几2 "view" "nar.e" s 本地天丸 url1*:雹丘族:星念些翼冬£9以Ej蝕冬 nnaMw: 方借工作Rsub_buttonR: "type": "click", "n

21、ane*1: 公司商介”,"key":Rconpany", "type":"click",*narae":戏 J "MyS “游戏T.-type”: Rclicknr "naae":叫开个笑话 - key-:-笑话调用镇口出澈lEjson包自走义菜单:自定义菜单创建接口 /menu/create请求地址:http$:/ 7YbFYpO3$gZCtNILxsBx8EK返回结果:200 OKConnection: keep-aliveContent-Length: 27Con tent-T

22、ype: applicatio nson; encoding二utf8 Date: Fri, 02 May 2014 12:14:55 GMTServer nginx/1.4.4"errcode:"errmsg: 7摆交成功乩圭倫关注I:。町召到厚单.矣绘牧采棗似如八USB已连冬电駆毎日资讯屮7 iril i 22:59<r 毎日资讯±每日一句 2015-05-055月5日每日一句 2015-05-055月5日a 而在于JI正做快透査询苹采产品Ifs nol the hoi that counts, in hours.工作效益不在彳 了什么每日英语最新地需I

23、正做开心一笑竺自助査询毎日更新互动交流自助查询毎日更新互动交流七. 响应菜用点击事件的cWc代衣象单直畑魅hl噸口摆单辭购心鸽也丫也W炖汨尽.爭什无须啊代霸"桂跳*吆*<?php/*/definc(*TOKEN ,weixin, );SwcchatObj = new wcchatCallbackapiTcst();if (!sset($_GE7fechostr) SwcchatObj->responscMsg();clse$wcchatObj->validO;Iclass wechatCallbackapiTcstpublic function valid()Jcc

24、hoStr = $_GETlMechostr,J;if($thisxhcckSignaturc()echo ScchoStr;exit;private funaion chcckSignaturc()$sigiKturc = S_GETl'*signaturcHJ;$timcstamp = $_GETMtimcslampwj;$nonce = S_GET( "nonce"$tokcn= TOKEN;$lmp八rr = array($tokcn, Slimcstamp, $noncc);sort($impArr);$tmpStr = implode( StnipArr

25、);$tmpStr = sha 1 (StmpStr );if( StmpStr = Ssignaturc )return true;clscreturn false;public lunction responscMsgOJpostStr = SGLOBALSl” HTTP_RAW_POST_DATA J;if (!cmpty($postS tr) SpostObj = si!nplcxnilJoad_siring($pos(Str, implcXMLElcmcnf, L1BXML_NOCDATA); SRX.TYPE = trim(SposiObj->MsgTypc);switch

26、($RX_TYPE)case ''texC:SresultStr = Sthis->rccciveTcxt(SpostObj);break;case '*evcntM:SresultStr = J>this->receiveEvcnt($postObj);break;default:SrcsultStr =break;echo $resultStr;clseechoexit;)private function receivcTcxt(Sobjcct)SfuncHag = 0;$contentStr '你发送的内容为:M.Sobjcct->

27、Content;$rcsultStr = $this->transmitTcxt(Sobjcct, ScontcntStr, $funcHag); return SresultStr;private function recciveEvcnt($object)$contcntSlr =,w;switch ($objcc(->Event)(case "subscribe11:ScontcntStr = ”欢迎关注方倍工作室”;ease ”unsubscribe":break;ease “CLICK":switch ($objcct->EvcntKe

28、y)ease ”company”:ScontcntStrJ = array(fTitleM => ”公司简介冷“Description方倍工作室提供移动互联网相关的产品及服务"PicUrl" =>M "UrF =>Mweixin:/addfriend/pondbaystudioM);break;default:$contcntStr = arrayCTitlc”默认菜单回复”,-Description =>*正在使用的是方倍工作室的自定义菜单测试接口”."PicUrl" =>"http:discuz. ”

29、 Url" =>r,wcixin:/addfricnd/pondbaystudioM);break;break;default:break;if(!s_array($contcntStr)SrcsultStr = Sthis->transmitNews($object. ScontcntStr);clseSresultStr = Sthis->transmitTcxt($objcct, ScontcntStr);return SrcsultStr;private ftinciion transmiiTcxi($objcci, Sconicni, SftineFlag

30、 = 0)($tcxtTpl = w<xml><ToUscrNamex!(CDATAl%sJJx/ToUserNamc> <FromUscrNaniex!CDATA%sJx/FromUscrName> <CreatcTimc>9fs</CrcateTimc><MsgTypc><!lCDATAtextx/MsgTypc><Contcntx! CDATA%sJx/Contcnt><FuncFlag>%d</Func Flag$rcsultStr = sprintf(StcxtTpl,

31、$objcct>FromUscrNamc, Sobjcct->ToUserNamc, ime(), Scontent, $funcRag); return SresultStr;private function transmitNews(Sobject, $arr_itcm, $funcHag = 0)首条标题28字.其他标题39字if(!i s_array(Sancm)return;$itcmTpl = * <item><Titlex!lCDATAl%sJ?w7ritle><Descriptionx! C DAT A %sj x/Dcscriptio

32、n> <PicUr!x!lCDATAl%sJJx/PicUrl> <Urlx!lCDATA%sJx/Url>Sitcm.str = forcach (Sarr.itcm as $itcm)Sitcm_str .= sprinrt($itcmTpl, SitcmlTitleJ, Sitcml'Dcscription*, $itcm*PicUrrj, $itcm*Urrj);$newsTpl = °<xml><ToUserNamcx!CDATAl%sjx/ToUscrNamc><FromUscrNamex!lCDATA(

33、%sJjx/I;romUscrNamc><CreateTimc>9fs</CrcatcTimc><M sgT ypex! CDAT A news J x/MsgT ype><Contcntx! (CDATA J x/Contcnt><ArticlcCount>%s</ArticlcCount><Articles>$itcm-str</Articlcs><FuncRag>%s</FuncFlag>$resuhStr = sprintf(SncwsTpl, $objcct->FromUscrNamc Sobject->ToUscrName. timc(), count(SarrJtcm), SfuncHag); return SresultStqI?>八、菜单中获取openlDfll NI3怕只旳地址.罚卜实運鼠巾荻取IflQ的OpenlD的侑乩 以彼用OAulh2 0厲杈的力弍杀真现.URL中II号的册內 个刃定的M测轴.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1