首页 > > > 微信公众平台教程连载vol7-14(作者青龙老贼).pdf

微信公众平台教程连载vol7-14(作者青龙老贼).pdf

微信公众平台教程连载vol7-14(作者青龙老贼).pdf

上传者: kfxcom 2013-07-13 评分1 评论0 下载642 收藏10 阅读量1391 暂无简介 简介 举报

简介:本文档为《微信公众平台教程连载vol7-14(作者青龙老贼)pdf》,可适用于常用软件领域,主题内容包含《微信公众平台入门到精通》Vol又是出差忙碌的一周今天刚到南京帮公司的活动撑场子应酬到凌晨才回到酒店不想再找借口还是熬夜写个吧先把几个事情说下。、公符等。

《微信公众平台入门到精通》Vol.72013-04-19又是出差忙碌的一周,今天刚到南京帮公司的活动撑场子,应酬到凌晨才回到酒店,不想再找借口,还是熬夜写个吧,先把几个事情说下。1、公益培训收费是让希望大家认真学习,免费的东西很多人不懂得珍惜,我们并不做商业化探索,也不靠这个赚钱,更不缺钱,我个人有在参与收费的企业内部培训,但是这个公益培训各位真想多了,如果持怀疑态度的可以退订ZTalk,因为你并不了解青龙老贼这个人,也不信任ZTalk,再忍受我天天一个人的表演多没意思。2、雅安爱心捐款已经圆满结束,非常感谢大家的热心参与,WeMedia联盟共收到51316条回复,善款将捐献给壹基金,我们这几天就会与对方联系,即时将公示捐款凭证。3、我不是天使投资人,这次南京路演活动是公司(传媒梦工场)组织的,我是以点评嘉宾的身份参与,有朋友想要分享路演项目,昨天只有三个,一个做公务员考试网,一个做微信营销全案策划,一个做大学生兼职平台,今天有10个,我会分享给大家。第七章第七章第七章第七章公众平台开发模式介绍公众平台开发模式介绍公众平台开发模式介绍公众平台开发模式介绍从今天开始教程进入高级阶段,请大家认真、专心,还有执着,我会很耐心的在后台回复每个人的提问,但是如果真觉得学不下去的可以考虑用一些现成的第三方平台,但是肯定不如自己开发来的个性化。一一一一、、、、开发模式简介开发模式简介开发模式简介开发模式简介点击公众平台后台导航的“高级功能”就可以进入,该页面有两个模式选择,分别为“编辑模式”和“开发模式”,如下图:默认两个模式都是关闭状态,两种模式不能同时开启,点击开发模式区域进入开发模式设置页面,如下图:1.模式总开关。只有“成为开发者”后才可以开启,这里要注意的是这里要注意的是这里要注意的是这里要注意的是由于编辑模式和开发模式不能同时开启由于编辑模式和开发模式不能同时开启由于编辑模式和开发模式不能同时开启由于编辑模式和开发模式不能同时开启,,,,使用开发模式前应先关使用开发模式前应先关使用开发模式前应先关使用开发模式前应先关闭编辑模式闭编辑模式闭编辑模式闭编辑模式。。。。2.api接口文档。点击后可以查看目前所有开放的接口使用详细说明,包括开发用的SDK包。(SDK,,,,SoftwareDevelopmentKit的缩写的缩写的缩写的缩写,,,,中文即中文即中文即中文即“软件开发工具包软件开发工具包软件开发工具包软件开发工具包”。。。。广义上指辅助开发某一类软广义上指辅助开发某一类软广义上指辅助开发某一类软广义上指辅助开发某一类软件的相关文档件的相关文档件的相关文档件的相关文档、、、、范例和工具的集合范例和工具的集合范例和工具的集合范例和工具的集合。。。。)3.成为开发者。点击后会出现接口配置页面,用来绑定自己服务器上的程序接口与微信接口通讯,具体的操作将在第九章介绍。二二二二、、、、api接口文档简介接口文档简介接口文档简介接口文档简介首先来了解下微信开发模式有那些接口,清楚微信接口能做什么不能做什么有利于自己的产品设计,可以考虑自己的产品如何结合如何规划。由于微信本身是一个通讯工具,它所有的api接口都是基于一问一答的通讯机制,因此它的接口文档分为消息推送(用户在公众平台上行发送的消息)和消息回复(响应用户上行消息反馈下发回复的消息),本教本教本教本教程除了目前已经公布的接口外程除了目前已经公布的接口外程除了目前已经公布的接口外程除了目前已经公布的接口外,,,,还将剧透一部分将要开放的接口还将剧透一部分将要开放的接口还将剧透一部分将要开放的接口还将剧透一部分将要开放的接口,,,,比较比较比较比较特殊的消息下发接口属于最高级别接口特殊的消息下发接口属于最高级别接口特殊的消息下发接口属于最高级别接口特殊的消息下发接口属于最高级别接口,,,,大部分开发者是拿不到的大部分开发者是拿不到的大部分开发者是拿不到的大部分开发者是拿不到的,,,,所所所所以不介绍了以不介绍了以不介绍了以不介绍了。消息推送消息推送消息推送消息推送((((即公众账号能接收到的用户消息请求即公众账号能接收到的用户消息请求即公众账号能接收到的用户消息请求即公众账号能接收到的用户消息请求))))1、、、、文本消息文本消息文本消息文本消息此类消息即用户向公众账号输入文本发送消息,是公众平台接收到最多的消息,也是最重要的搜索、互动请求,因为语音识别还不成熟,图片无法识别,地理位置用的场景也不多。接口获取到的消息格式:这里先说下XML数据格式,它不仅是一种非常适合web传输的格式,还具有强大的数据索引、排序、查找、相关一致性等特点,有些网站甚至拿XML来做数据库,比如射手网,它结构非常简单,看起来有点像html,可读性比较强,微信开发接口的消息传递主要在用这个。有些人会觉得很头大,其实不理解也没关系,只要搞清楚它每次传输给你的有那些数据,你怎么获取这些数据就可以了。文本消息的数据字段:ToUserName:开发者微信号(公众账号ID)FromUserName:发送方帐号(微信用户的OPENID,每个微信用户与每个公众账号是唯一的,不同公众账号同个用户OPENID是不同的)CreateTime:消息创建时间MsgType:消息类型(文本消息为text)Content:消息内容MsgId:消息的ID号2、、、、图片消息图片消息图片消息图片消息用户使用图片上传发送消息,应用场景:账号注册账号注册账号注册账号注册、、、、随手拍活动征集随手拍活动征集随手拍活动征集随手拍活动征集、、、、现场微信照片墙现场微信照片墙现场微信照片墙现场微信照片墙。。。。接口获取到的消息格式:图片消息与文本消息数据不同:MsgType:消息类型为imagePicUrl:图片链接,该图片保存在微信的服务器上,可以通过远程抓取图片程序保存到本地。3、、、、地理位置消息地理位置消息地理位置消息地理位置消息微信将LBS当作一个交互信息进行传递,比较常见的微信用户之间发送地理位置告知目的地所在,公众号里发送地理位置搜索周边人、商家、信息等。接口获取到的消息格式:地理位置消息与文本消息数据不同:MsgType:消息类型为locationLocation_X、、、、Location_Y、、、、Scale:地理位置的经纬度和地图缩放比例,用于第三方地图接口的应用,搜索周边需要用到Label:地理位置文字信息,如某某城市某某路某某号,如果以城市为单位查询直接拿这个就可以。4、链接消息微收藏、印象笔记等用来保存微信里图文消息的应用就是使用的这个接口,用户将链接发送到该公众账号,公众账号通过链接抓取网页内容然后收藏保存。接口获取到的消息格式:链接消息与文本消息数据不同:MsgType:消息类型为linkTitle:消息标题Description:消息描述Url:链接地址5、语音消息(未开放)这个消息接口并不在公开文档上,但事实上有不少微信应用已经在使用,比如路况电台,不全面开放的原因我个人猜测是因为微信自己的语音识别还不理想,未来肯定会开放,想象一下对公众账号说句话后台就能给反馈信息多方便的功能。接口获取到的消息格式:语音消息与文本消息数据不同:MsgType:消息类型为voiceMediaId:语音消息媒体id,可以调用相应接口获取内容Format:语音类型,如amr,speex,wav等,目前是使用的speex。6、视频消息(未开放)这个消息接口也不在公开文档上,结构跟语音消息差不多。接口获取到的消息格式:视频消息与文本消息数据不同:MsgType:消息类型为videoMediaId:视频消息媒体id,可以调用相应接口获取内容ThumbMediaId:视频消息缩略图id,可以调用相应接口获取内容7、事件推送这个接口很重要,目前只开放了用户关注、用户退订,还有自定义菜单按钮相应的功能,部分测试的有用户打开公众号提醒和自动发送地理位置。也就是用户不发送任何内容也可以捕捉用户行为做出回复。接口获取到的消息格式:事件推送与文本消息数据不同:MsgType:消息类型为eventEvent:事件内容,subscribe(订阅)、unsubscribe(取消订阅)、CLICK(自定义菜单点击事件)EventKey:当用户事件为点击自定义菜单时,返回事件KEY值,与自定义菜单接口中KEY值对应。很多人在问如何知道用户退订的,其实就是这个消息接口,另外3月26日后将用户关注消息也从文本消息改为了事件推送。消息回复消息回复消息回复消息回复((((即公众账号在接收到用户消息后下发回复消息即公众账号在接收到用户消息后下发回复消息即公众账号在接收到用户消息后下发回复消息即公众账号在接收到用户消息后下发回复消息))))消息回复需要注意的一点是从接收用户发送的消息消息回复需要注意的一点是从接收用户发送的消息消息回复需要注意的一点是从接收用户发送的消息消息回复需要注意的一点是从接收用户发送的消息,,,,到服务器响应返回到服务器响应返回到服务器响应返回到服务器响应返回消息消息消息消息,,,,有效时间只有有效时间只有有效时间只有有效时间只有5秒钟秒钟秒钟秒钟,,,,超时的话用户是无法接收到回复消息的超时的话用户是无法接收到回复消息的超时的话用户是无法接收到回复消息的超时的话用户是无法接收到回复消息的。。。。1、、、、回复文本消回复文本消回复文本消回复文本消息息息息文字阅读要比其他方式的阅读成本低,所以能用文本的地方咱们就尽量用文本。接口下发的消息格式:回复文本消息的数据字段:ToUserName:发送方帐号(微信用户的OPENID,每个微信用户与每个公众账号是唯一的,不同公众账号同个用户OPENID是不同的)FromUserName:开发者微信号(公众账号ID)CreateTime:回复消息创建时间MsgType:回复消息类型(文本消息为text)Content:回复消息内容(长度不超过2048字节)FuncFlag:设置为1的时候,自动星标刚才接收到的消息,适合活动统计使用2、、、、回复图片消息回复图片消息回复图片消息回复图片消息((((未开放未开放未开放未开放))))这是个未公开的接口,现在使用开发模式最苦逼的就是没法回复图片,还不如编辑模式,啥都能回复!接口下发的消息格式:与回复文本消息的数据字段的不同:MsgType:回复消息类型为imageMediaId:图片的id,需要通过其他接口上传图片获得上传图片限制上传图片限制上传图片限制上传图片限制:1MB,支持JPG格式3、、、、回复语音消息回复语音消息回复语音消息回复语音消息((((未开放未开放未开放未开放))))这是个未公开的接口,语音消息展现形式跟音乐消息还是不一样的,也不会出现某些安卓版微信无法播放音乐消息的情况。接口下发的消息格式:与回复文本消息的数据字段的不同:MsgType:回复消息类型为voiceMediaId:语音的id,需要通过其他接口上传语音获得上传语音限制上传语音限制上传语音限制上传语音限制:1MB,播放长度不超过60s,支持AMR格式4、、、、回复视频消息回复视频消息回复视频消息回复视频消息((((未开放未开放未开放未开放))))这是个未公开的接口,和图片消息差不多。接口下发的消息格式:与回复文本消息的数据字段的不同:MsgType:回复消息类型为videoMediaId:视频的id,需要通过其他接口上传视频获得ThumbMediaId:缩略图的id,通过上传图片(80*80)得到id视频限制视频限制视频限制视频限制:10MB,支持MP4格式缩略图限制缩略图限制缩略图限制缩略图限制:64KB,支持JPG格式5、、、、回复音乐消息回复音乐消息回复音乐消息回复音乐消息很多人问我为什么可以播放音乐,没什么秘密,就是用这个接口了。接口下发的消息格式:与回复文本消息的数据字段的不同:MsgType:回复消息类型为musicTitle:音乐标题,我经常是放歌名Description:音乐描述,我经常是放歌手名字MusicUrl:音乐链接,支持MP3、WMV、AAC等在线音乐格式HQMusicUrl:高质量音乐链接,WIFI环境优先使用该链接播放音乐,可以和上面的一样。6、、、、回复图文消息回复图文消息回复图文消息回复图文消息开发模式里最喜欢的就是这个了,比如可以用多图文消息做个欢迎菜单,可以做图文历史文章查询。接口下发的消息格式:与回复文本消息的数据字段的不同:MsgType:回复消息类型为newsArticleCount:图文消息个数,限制为10条以内,这个必须准确,有多少条图文消息就得填写多少,不然会出错。Articles:多条图文消息信息,默认第一个item为大图,每个item的结构完全一样,每个item表示一条图文消息。Title:图文消息标题Description:图文消息描述PicUrl:图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80。Url:点击图文消息跳转链接,这个链接可以是自己网站链接,但是记得申请白名单,不然出现警告提示用户一般不会点击进去。其他消息接口其他消息接口其他消息接口其他消息接口这些接口都未对外开放这些接口都未对外开放这些接口都未对外开放这些接口都未对外开放,,,,看看就行看看就行看看就行看看就行,,,,如果在写教程中途官方开放了如果在写教程中途官方开放了如果在写教程中途官方开放了如果在写教程中途官方开放了,,,,我我我我也会写进也会写进也会写进也会写进。。。。1、、、、用户信息接口用户信息接口用户信息接口用户信息接口((((未开放未开放未开放未开放))))公众平台获取关注用户的信息。接口请求地址:https://api.weixin.qq.com/cgi-bin/user/info接口返回信息:subscribe:用户是否订阅该公众号标识,值为0时,拉取不到其余信息openid:用户的标识,对当前公众号唯一nickname:用户的昵称sex:用户的性别,值等于1时为男性,值等于2时为女性city:用户所在城市language:用户的语言,简体中文为zh_CN2、、、、媒体文件上传接口媒体文件上传接口媒体文件上传接口媒体文件上传接口((((未开放未开放未开放未开放))))上传图片、语音、视频等文件,获取media_id,media_id可复用。接口请求地址:http://api.weixin.qq.com/cgi-bin/media/upload接口返回信息:type:媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)media_id:媒体文件上传后获取的唯一标识created_at:媒体文件上传时间3、、、、媒体文件获取接口媒体文件获取接口媒体文件获取接口媒体文件获取接口((((未开放未开放未开放未开放))))通过media_id获取图片、语音、视频等文件。接口请求地址:http://api.weixin.qq.com/cgi-bin/media/get4、、、、拉取关注接口拉取关注接口拉取关注接口拉取关注接口((((未开放未开放未开放未开放))))拉取公众账户关注用户列表。接口请求地址:https://api.weixin.qq.com/cgi-bin/user/get接口返回信息:total:关注该公众账号的总用户数count:拉取的OPENID个数,最大值为10000data:列表数据,OPENID的列表next_openid:下一次拉取的关注用户的偏移值--------------------------------------关于微信开发模式的初步介绍到此为止,这个文章是开发接口的速查手册,后面实际教程中会经常用到,请记得用微收藏保存起来!明天先讲新浪的云计算平台注册和使用,工欲善其事必先利其器!本文网络独家授权本文网络独家授权本文网络独家授权本文网络独家授权weixin.fm,,,,任何媒体任何媒体任何媒体任何媒体、、、、机构不得转发机构不得转发机构不得转发机构不得转发!------ZTalk推荐推荐推荐推荐-------道哥的黑板报道哥的黑板报道哥的黑板报道哥的黑板报((((微信号微信号微信号微信号::::taosay)。)。)。)。江湖人称江湖人称江湖人称江湖人称""""刺刺刺刺",",",",别号别号别号别号""""道哥道哥道哥道哥",",",",互联网安全砖家互联网安全砖家互联网安全砖家互联网安全砖家,,,,不是叫兽不是叫兽不是叫兽不是叫兽。。。。关注创业关注创业关注创业关注创业、、、、产品产品产品产品、、、、新技术新技术新技术新技术,,,,还时不时会爆还时不时会爆还时不时会爆还时不时会爆点黑客圈的料哦点黑客圈的料哦点黑客圈的料哦点黑客圈的料哦,,,,最近加入北漂一族最近加入北漂一族最近加入北漂一族最近加入北漂一族。。。。小欧小欧小欧小欧((((微信号微信号微信号微信号::::xiaoo-me))))狗嘴里吐不出象牙来狗嘴里吐不出象牙来狗嘴里吐不出象牙来狗嘴里吐不出象牙来,,,,号称互联网第一毒号称互联网第一毒号称互联网第一毒号称互联网第一毒舌舌舌舌。。。。但实际上是网上风骚但实际上是网上风骚但实际上是网上风骚但实际上是网上风骚,,,,现实闷骚现实闷骚现实闷骚现实闷骚,,,,文字一般观点却独到文字一般观点却独到文字一般观点却独到文字一般观点却独到,,,,着实招人着实招人着实招人着实招人喜欢喜欢喜欢喜欢,,,,现在还是单身现在还是单身现在还是单身现在还是单身,,,,等人收拾中等人收拾中等人收拾中等人收拾中……ZTalk每日一曲每日一曲每日一曲每日一曲,,,,输入输入输入输入“V”欣赏欣赏欣赏欣赏,,,,历史欣赏请输入历史欣赏请输入历史欣赏请输入历史欣赏请输入“VM”::::Frente!的《BizarreLoveTriangle》,清新不失艺术气质微信搜索微信搜索微信搜索微信搜索“ZTalk”就可以关注我就可以关注我就可以关注我就可以关注我--------下面是广告下面是广告下面是广告下面是广告--------微库,不懂编程也可以成为微信开发者阅读原文《《《《微信公众平台入门到精通微信公众平台入门到精通微信公众平台入门到精通微信公众平台入门到精通》》》》Vol.82013-05-01先说个题外话,昨天一位ZTalk的朋友留言让我非常高兴:张张张张J::::自从看了您老人家的那个把公众平台改成菜谱自从看了您老人家的那个把公众平台改成菜谱自从看了您老人家的那个把公众平台改成菜谱自从看了您老人家的那个把公众平台改成菜谱,,,,深受启发深受启发深受启发深受启发,,,,跑了跑了跑了跑了周围几家不大不小的餐馆周围几家不大不小的餐馆周围几家不大不小的餐馆周围几家不大不小的餐馆,,,,帮他们弄了一下帮他们弄了一下帮他们弄了一下帮他们弄了一下,,,,好过出去打工了好过出去打工了好过出去打工了好过出去打工了。。。。。。。。估计这位朋友靠这个赚了点小钱,在我看来很简单的东西却能帮别人创造价值,突然让我觉得自己在做一件很有意义的事情,好吧,我是《士兵突击》的脑残粉,所以我会继续努力好好活,好好活就是做很多有意义的事情。----------正文开始-----------由于ZTalk一直在用SAE,感觉还算稳定,其他的如BAE玩了下但不熟练,也不知道后续收费情况,腾讯自己的云计算平台一直没出来,所以还是决定用SAE来给大家讲课吧,虽然X浪没给我一分广告费。第八章第八章第八章第八章新浪云计算平台注册和使用新浪云计算平台注册和使用新浪云计算平台注册和使用新浪云计算平台注册和使用以前想做个网站很麻烦,先得花钱租赁虚拟服务器空间或者买服务器托管,然后还得懂服务器配置,平时还得搞下服务器维护什么的,现在有云计算平台就方便了,对于一些非企业用户来说简单几步注册就可以自己建站,成本低廉效率还高,而且开发非常自主灵活。一一一一、、、、新浪云计算平台注册新浪云计算平台注册新浪云计算平台注册新浪云计算平台注册新浪云计算平台的英文是SinaAppEngine,简称SAE,是国内首个公有云平台,是一个简单高效的分布式Web服务开发、运行平台,应该是目前国内最多开发者使用的云计算平台。在浏览器中上输入网址http://sae.sina.com.cn/,就进入SAE的首页:点击右上角的注册链接进入注册页面,由于是新浪自己的产品,所以SAE账号系统使用了新浪微博的账号授权,大家应该很熟悉这个界面了,而且估计都有用新浪微博绑定授权注册的经历,我就不展开说了。如下图:输入新浪微博账号和密码点击登陆后会跳转到授权页面,点击授权就完成SAE的第一步注册:如果非常不巧你竟然连微博账号都没有的话,不着急,看到第一张图数第一张图数第一张图数第一张图数字字字字1标示的那个地方没,有一个注册链接,点击后进入新浪微博注册+SAE授权页面,填写信息后即可完成SAE注册。如下图:注册成功后会跳转到安全设置页面,这里要填写的东西比较多,如下图:1.账号注册提醒,如果不想用这个微博账号注册可以反悔,否则一旦绑定后就不能修改。2.真实姓名,默认用的是微博昵称,建议使用真名,方便后期认证取回等。3.安全邮箱,使用SAE内部服务时的通行证账号,比如数据库,可以用新浪微博的账号名,当然为安全考虑你也可以用一个其他的邮箱做账号。4.安全密码,配合安全邮箱的密码,可以和微博的一样,同样的为了安全也可以设一个不一样的。安全邮箱和安全密码非常重要安全邮箱和安全密码非常重要安全邮箱和安全密码非常重要安全邮箱和安全密码非常重要,,,,请勿遗忘和泄露请勿遗忘和泄露请勿遗忘和泄露请勿遗忘和泄露!!!!5.绑定手机,用来取回密码和验证。每个手机号码只能绑定一次每个手机号码只能绑定一次每个手机号码只能绑定一次每个手机号码只能绑定一次。。。。安全信息设置完以后进入手机验证身份确认步骤,SAE的校验码很复杂,数字加字符的,可见安全方面要求还是比较严格,如果没有收到确认短信也可以发送“REG:+微博账号”到13810928931,如下图:完成身份确认后,恭喜,您已经成为SAE的一名开发者了!并且获得虚拟货币云豆500个,SAE的很多服务都是要消耗云豆。。。。想要查看自己的云豆数量和账户信息,可以将鼠标移动到页面最右上角账户名字处,会有下拉菜单显示详情:点击详细设置可以进入账户设置页面。ZTalk秘籍SAE并不是一个完全免费的云计算平台,它消耗的是云豆,价格不贵100颗才1元钱,但是作为普通开发者来说必须想办法完成以下几步,完成后基本可以免费使用SAE了,目前目前目前目前ZTalk每个月大概花费的云豆每个月大概花费的云豆每个月大概花费的云豆每个月大概花费的云豆在在在在300个左右个左右个左右个左右,,,,折合起来也就是折合起来也就是折合起来也就是折合起来也就是3元钱元钱元钱元钱。。。。任务在开发者首页有相关提示,如下图:1、手机复验手机复验手机复验手机复验。这个必须去完成,否则开发者创建的每个应用每天啥也不干就扣你100云豆。点击手机复验出现提示窗口如下图:根据提示使用注册时绑定的手机发送短信就可以完成,当然这条短信会扣两块钱,同时会赠送你200云豆,相当于你完成了第一次的云豆购买。成功以后会有如下提示,但是这个提示有问题,实际上每天每应用扣点还是5个云豆,而不是1个云豆2、实名认证实名认证实名认证实名认证。这个有点认证流程有点恶心,貌似现在很多互联网公司都喜欢用手持证件的照片手持证件的照片手持证件的照片手持证件的照片来认证,搞得跟政府机关一样。但是为了拿2000云豆的奖励,咱们还是忍了吧!如下图:3、开发者认证开发者认证开发者认证开发者认证。这个认证非常难,特别是初级普通开发者需要2名认证开发者的推荐,很多人没地方找去,我当初是找了两个码农朋友帮忙认证的,大家可以尝试在SAE的交流区http://cloudbbs.org/forum.php求推荐,认证的好处就是免了应用的5云豆日租金,如果能够成为中级以上的开发者还能每月领工资:【中级】开发者:10,000云豆/月,【高级】开发者:15,000云豆/月【资深】开发者:30,000云豆/月。基本就是免费使用SAE了。ZTalk现在正在申请中级开发者,希望能够成功。二二二二、、、、在在在在SAE上创建第一个应用上创建第一个应用上创建第一个应用上创建第一个应用咱们开通云计算平台就是为了能够进行微信的开发,在开发前我们先要理解一个概念,就是一般来说任何一个程序或者说手机应用都会分为前端和后端,前端就是用户能够接触到的,能够与之方便互动的,比如我们手机上安装的各种应用。微信之所以能够被预言淘汰手机上百分之50以上的应用,是因为微信的公众平台具备了大部分手机应用前端的功能,比如拍照上传、语音传输、地理位置发送等接口,但无论是微信也好,普通手机应用也好,真正在进行逻辑运算、数据保存等服务处理的还是后端程序,这也是我们使用SAE所要做的事情。后端基本没有什么可视化界面,只有大量的源代码,看起来很枯燥,但正是他们及时响应用户的请求,完成了复杂的交互功能,事实上我在编码的时候更感觉是在谱写一段美妙的音乐,它们是有韵律和节奏的。闲话不扯了,咱们先来建立第一个应用,或者说我们可以叫它为微信公众平台的后端。在开发者首页可以看到如下图:先提下安装应用,这个主要是用来安装一些基于SAE开发的应用程序或者框架,初学者可以忽略。重点还是说说创建新应用吧,点击创建新应用出现下图:1.应用的访问域名,这个可以自己设置,设置成功后访问这个网址就可以打开你的应用,比如我的ZTalk就是用的ztalk.sinaapp.com,要注意的是创建后不可修改注意的是创建后不可修改注意的是创建后不可修改注意的是创建后不可修改。2.应用名称,这个没什么讲究,随便写个吧,只是用来标示应用的。3.应用描述,由于我们这个应用只是用来做微信后台,并不会放到前台去展示,所以也随便写两句吧。4.开发语言,由于老贼所有的开发教程都使用php,因此这里必须选PHP。5.应用类型,选择web应用就好,这个是后台程序,主要是提供一些接口服务。点击创建应用就可以新建一个SAE平台的应用了,创建成功后页面会跳转到应用列表,其实就是SAE的个人首页,这个时候多了刚创建的应用名称,如图:点击上图的应用名称后进入应用的管理页面,里面非常复杂,估计很多人看了会头晕,这些先别理,首先点击“代码管理”建立第一个应用的版本再说,如下图:这里什么上传您的代码、SVN都不用管,点击“创建一个版本”会弹出一个新窗口,如图:每个应用可以创建最多10个版本,每个版本号只能是1-10的数字标示且不能重复,一般是用于版本大的升级,对于初学者来说没有太多的需求,我们创建一个版本基本就可以了。创建成功后页面会刷新显示,如图:其实这个时候我们的应用已经可以通过网络访问了,在浏览器里输入前面设置的应用访问域名,比如我这个是weixincourse.sinaapp.com,就可以看到,如下图:恭喜您,你已经成功拥有了自己的网站!不过这个只是个开始,如何开发自己的程序呢?点击“编辑代码”,如图:点击后可能会出现要求输入安全密码,如图:输入注册时设置的安全密码后页面会刷新,需要再次点击“编辑代码”,会弹出一个新窗口,进入代码编辑模式,如图:这个就是SAE的在线编辑器了,虽然我自己是在用editplus,但是作为初学者可以先用这个熟悉起来,并且方便查看效果,毕竟在本地做开发,还需要搭建本地的开发环境,这个对大部分人是件麻烦事。先说下编辑的主要功能模块:1.应用程序和版本切换;2.三个图标分别对应新建文件、新建目录和上传文件,基本可以满足开发的要求了;3.目录切换;4.文件列表,双击文件名即可打开文件进行编辑,或者鼠标右键菜单项选择编辑,同时还多了通过URL访问和删除功能。5.编辑器,颜色搭配的不错,保留字、变量什么的配色还是能让我习惯的。6.文档名称、保存和关闭,当文档发生修改时,关闭图标会自动变成保存图标。不合理的是只要文档发生修改时就只有保存图标没有关闭图标,有时候不想保存就很麻烦。三三三三、、、、HelloWorld“Hello,world"程序是指在计算机屏幕上输出“Hello,world”这行字符串的计算机程序,helloworld作为所有编程语言的起始阶段,占据着无法改变的地位,所有版本的编程教材中,helloworld总是作为第一个TEST记录于书本之中,所有的编程第一步就在于此了!经典之中的经典!helloworld!老贼的微信教程开发篇第一课也从这里开始!首先在编辑器页面点击“新建文件”的图标,会弹出新窗口,如下图:输入“hello.php”然后点确定生成新文件,注意:1、全部都要在英文状态下输入!2、php文件名的后缀为.php。编辑器的文件列表栏里就出现了新的文件,如图:鼠标双击文件名或者右键选择编辑,对文件进行编辑,然后在右边的编辑框里输入如下图所示:这里要讲一些php的语法规则了:1.所有php的脚本都是以<?php开始,以?>结束,编译器根据这两个标签来判断php程序。2.双斜杠用来做单行注释,注释的作用是记录代码的功能等信息,非常有用,不管是自己以后查看还是别人来阅读。3.所有的PHP代码行都必须以分号“;”结尾,编译器以这个区分不同指令集。4.echo是最基本的php输出指令。5.php的字符串用成对的双引号或者单引号来包含,使用输出指令可以直接讲字符串打印到浏览器里。点击保存后,鼠标右键选择左栏的hello.php,点击通过URL访问,新弹出的窗口会出现:当然你也可以直接在浏览器里输入“应用的地址+/hello.php”访问。关于SAE的介绍先到这里,接下来会讲如何将SAE与微信开发模式对接,可能得等两天,在这个时间里我希望大家有时间可以去看下PHP的一些基础资料,访问http://www.w3school.com.cn/php/index.asp,按照上面的一些教程先摸索一下,有问题请随时问。--------ZTalk的互动环节的互动环节的互动环节的互动环节---------HanAlex:不看好阿里和新浪微博合作,新浪做微博是比较早的而且用户数量也多,但是他们始终找不到商业盈利点,而阿里最突出的就是淘宝和阿里在线交易,如果为了获取更多的用户数量而联合新浪,那么微博就成了宣传电商的工具,其实很多微博用户并不喜欢这样,网购或者在线交易完全不需要微博来凑热闹,况且花这么多钱买新浪微博有点糟蹋银子了,阿狸完全可以抛开新浪自谋新平台,淘宝基数的广大用户,开发自主的个人微博平台都可以,目前来说腾讯才是最大的竞争者,新浪网易搜狐早晚会被边缘化,电商加媒体是个趋势,不过这个收购还是便宜了新浪,我认为新浪早晚会沉沦的,这个时候收购等于多给他一口饭吃罢了。ZTalk::::这个事情每个人有不同看法,最重要是资本市场需要故事,呵呵。mi    ya:母婴网站微信怎么做好呢!我是运营摇篮网微信的,目前我们已经接口网站无线站,可为用户提供搜索!在母婴网站中算不错但是粉丝增加不快!给点运营建议吧!ZTalk::::我不是万能的,这个有朋友能解答不。柳峰:更正一处错误:推送消息里语音消息的Format目前使用的是amr,我们公司的公众平台做了语音识别、解析,可以确定,即使没有内测资格,也能得到voice消息的format值,的确是amr!如果是在微信公众平台管理后台下载用户发送语音文件,下载到的是mp3格式。ZTalk::::非常感谢!light:老贼,网上好多网友反映你讲的微信课内容太过细致,有些大家容易懂的东西花费的课程太多了你怎么看?ZTalk::::我是面对小白用户的,不细致不行啊,你知道我写一次教程要多久么?起码4个小时以上!本文网络独家授权本文网络独家授权本文网络独家授权本文网络独家授权weixin.fm,,,,任何媒体任何媒体任何媒体任何媒体、、、、机构不得转发机构不得转发机构不得转发机构不得转发!ZTalk推荐推荐推荐推荐::::IT老友记(itlaoyou-com),5分钟搞定全天互联网靠谱资讯!以极简主义做行业扫描,以财经角度做深度。亮点是输入一家企业如"阿里",最近2个月精简资讯直接回复您!ZTalk每日一曲每日一曲每日一曲每日一曲,,,,输入输入输入输入“V”欣赏欣赏欣赏欣赏,,,,历史欣赏请输入历史欣赏请输入历史欣赏请输入历史欣赏请输入“VM”::::Travis的《Closer》,很温馨的英伦摇滚很温馨的英伦摇滚很温馨的英伦摇滚很温馨的英伦摇滚《《《《微信公众平台入门到精通微信公众平台入门到精通微信公众平台入门到精通微信公众平台入门到精通》》》》Vol.92013-05-03昨天这篇SAE的课程貌似很给力,收到一千多回复,多谢朋友们捧场,不少人在问那个菜单的教程是第几篇,是《微信公众平台入门到精通Vol.6》,所有的课程可以输入“微信教程”查看!还有一些朋友在问开发模式是否可以群发消息或者点对点下发消息,这个是不行的,群发消息、人工回复消息还是得去公众平台,除非你开外挂模拟登陆公众平台后台操作,当然这个肯定是违规的,会被封号。另外大家在进入开发模式前还是要提醒下另外大家在进入开发模式前还是要提醒下另外大家在进入开发模式前还是要提醒下另外大家在进入开发模式前还是要提醒下,,,,由于微信现在接口开放的还由于微信现在接口开放的还由于微信现在接口开放的还由于微信现在接口开放的还不多不多不多不多,,,,图片回复图片回复图片回复图片回复、、、、视频回复接口都没有视频回复接口都没有视频回复接口都没有视频回复接口都没有,,,,也就是用户回复关键字获取图也就是用户回复关键字获取图也就是用户回复关键字获取图也就是用户回复关键字获取图片或者视频是无法做到的片或者视频是无法做到的片或者视频是无法做到的片或者视频是无法做到的,,,,如果偏运营的公众账号现在并不推荐使用开如果偏运营的公众账号现在并不推荐使用开如果偏运营的公众账号现在并不推荐使用开如果偏运营的公众账号现在并不推荐使用开发模式发模式发模式发模式。。。。第九章第九章第九章第九章用微信开发用微信开发用微信开发用微信开发模式模式模式模式做欢迎词今天的重点是如何将微信开发模式和SAE对接,希望朋友们已经完成了SAE注册,如果还没搞定的话请抓紧,有问题的话请及时提出,接下来的教程都在那上面进行。在教程开始前建议朋友们可以先注册一个新的公众账号,或者用非主账号当做开发测试账号,因为开发调试过称中可能会经常出现账号无法正常回复用户的情况,影响正常使用,所以在学习期间以及后期开发过程中最好有一个测试公众账号,等开发完成了再切换到主账号上,也是非常方便的。一一一一、、、、微信公众平台与微信公众平台与微信公众平台与微信公众平台与SAE对接通讯对接通讯对接通讯对接通讯我们先回到微信公众平台上来,点击高级功能进入,选择开发模式进入开发模式的页面,使用开发模式前记得先把编辑模式关闭使用开发模式前记得先把编辑模式关闭使用开发模式前记得先把编辑模式关闭使用开发模式前记得先把编辑模式关闭,如下图:先不着急点开关,点了也没用,会提示必须先成为开发者,但第一步也不是点击“成为开发者”按钮,而是点击查看文档按钮,我们要去下载一个文件,进入开发指南页面后点击左侧菜单的“消息接口指南”,如下图:然后在右边打开的页面导航里点击“示例代码”,如下图:页面直接会跳到最底部,当然直接拉到页面最下也可以,可以看到示例代码下载,如图:点击下载后会得到一个“wx_sample.php”的文件,这个就是微信接口的SDK文件,首先我们将该文件改个名字,比如“wx_interface.php”,这里强调下文件的注意事项:1、后缀必须是.php;2、名字不能用中文,尽量是全小写字母,或者字母+下划线+字母组成;3、名字要便于记忆;4、不要把名字设成“index.php”、“weixin.php”、“admin.php”这些。让大家改名的原因是为了安全,因为这是一个和微信公众平台通讯的接口文件,原则上要隐蔽,以免被人恶意攻击。改完名字后打开SAE,进入到咱们的应用,点击编辑代码进入编辑后台,把文件上传到SAE里,如下图:双击上传的文件,进入该文件的编辑模式,可以看到密密麻麻的一片代码,朋友们不要被吓到,咱们一步步来,首先修改第7行的通讯秘钥,如图:那些斜杠和星号的是注释,可以看到第6行的注释英文是“defineyourtoken”,也就是说第7行的代码功能是定义微信公众平台与SAE应用通讯时约定的一个秘钥。这里解释下define("TOKEN","weixin")这段代码:define是用来给常量赋值的函数,这句话的意思是赋予“TOKEN”这个常量值为“weixin”。PS:常量和变量,是每一种编程语言中都存在的,常量值被定义后,在脚本的其他任何地方都不能被改变。一个常量的名称可以由英文字一个常量的名称可以由英文字一个常量的名称可以由英文字一个常量的名称可以由英文字母母母母、、、、下划线下划线下划线下划线、、、、和数字组成和数字组成和数字组成和数字组成,,,,但数字不能作为首字母出现但数字不能作为首字母出现但数字不能作为首字母出现但数字不能作为首字母出现。变量被定义后随时可以重新赋值,其命名规则与常量一样,区别是变量最前面还要加“$”符号,而常量直接使用它的名称就可以了,如代码第67行,就是给变量$token赋值,值为之前定义的常量TOKEN,可以看到变量和常量的赋值方式也是不同的,变量赋值很简单不需要define函数。扯了那么多咱们先把秘钥改了吧,这个秘钥其实有点像设置一个密码,微信公众平台对秘钥设置有要求是3位以上的字母或数字,我这里是测试所以改个“123456”,如图:修改保存后,回到微信公众平台的开发模式,点击“成为开发者”按钮,然后会到“接口配置信息”页面,如下图:1.输入各位在SAE上的应用地址+反斜杠+改名后的SDK文件,比如我这里输入的是http://weixincourse.sinaapp.com/wx_interface.php要注意的是前面不要忘记加http://,域名就是咱们应用的域名,上传的SDK文件名要写完整,包括.php的后缀名。2.这里就是填写在SDK文件里设置的秘钥,我这里填写的是“123456”,大家根据自己设置的填写。填写完后点击提交,如果一切顺利就会提示成功并跳转页面到开发者页面,如下图:1.接口配置信息。这里可以看到咱们设定的那些接口信息都清楚的显示出来,如果接口的地址或者token改变的话点击修改按钮可以重新设置。2.接口权限表。打钩的就是咱们可以使用的接口权限,关于这些接口的权限介绍可以查看《微信公众平台入门到精通Vol.7》,有些朋友如果已经拿到自定义菜单内测资格的,那么自定义菜单也会有打钩。3.最重要的一步就是打开开发模式的开关,现在公众账号进入开发模式了!这个时候你会发现你的公众账号无论是关注还是输入都没有提示了,原来编辑模式下设置的东西都不管用了,因为公众账号已经对接到了你的SAE接口,SO,我们开始下一步吧,先来个欢迎词!二二二二、、、、开发模式下的欢迎词开发模式下的欢迎词开发模式下的欢迎词开发模式下的欢迎词先控诉下微信开发模式的设置不合理,接口校验和接口服务用同一个文件,而校验时这个文件必须直接返回echostr参数内容,当接口要启动正式服务时又得修改同个文件……好了这些跟大家无关,抱怨一下而已!前面接口对接成功后,公众账号无法再与用户互动了,那么我们先把订阅欢迎这个功能恢复吧,回到SAE平台上,在编辑平台新建一个文件,我们把它命名为“wx_tpl.php”,这个文件的目的是存放微信输出内容的模板,细心的朋友会发现这就是目前接口可以给用户回复的三种消息格式,分别是文本、图文、音乐。内容如图:然后把前面的那个SDK文件内容全部清空,没错就是全部清空,因为官方那个SDK除了用来做接口校验几乎没有什么用处。然后换上自己的代码,如图:给大家解释下这一大段代码:第3行,include_once是用来加载其他php文件的函数,在这里加载了wx_tpl.php,加载文件是可以设置路径的,由于现在两个文件在同一目录下,因此没有加路径。这样做的好处是有利于代码复用,一些经常用到的类、函数和变量可以放在其他文件统一加载,让代码简洁轻便。第6行,接收微信公众平台发送过来的用户消息,该消息数据结构为XML,不是php默认的识别数据类型,因此这里用了$GLOBALS['HTTP_RAW_POST_DATA']来接收,同时赋值给了$postStr,这里强调一个这里强调一个这里强调一个这里强调一个php的铁律就是的铁律就是的铁律就是的铁律就是php对大小写是敏感的对大小写是敏感的对大小写是敏感的对大小写是敏感的,,,,也也也也就是变量也好函数也好就是变量也好函数也好就是变量也好函数也好就是变量也好函数也好,,,,大小写不同是表示不同的变量或者函数大小写不同是表示不同的变量或者函数大小写不同是表示不同的变量或者函数大小写不同是表示不同的变量或者函数,,,,即即即即$Q1和和和和$q1是两个不同的变量是两个不同的变量是两个不同的变量是两个不同的变量,,,,大家在写代码时千万注意大家在写

编辑推荐

  • 名称/格式
  • 评分
  • 下载次数
  • 资料大小
  • 上传时间

用户评论

0/200
    暂无评论
上传我的资料
资料评价:

/ 131
所需积分:0 立即下载
返回
顶部
举报
资料
关闭

温馨提示

感谢您对爱问共享资料的支持,精彩活动将尽快为您呈现,敬请期待!