总结
豆包 AI 助手文章总结

PHP开发微信服务号图解

小云云
发布: 2018-02-22 09:25:18
原创
3091人浏览过

原来有一个3年前注册的微信号,但是后台操作无法从“订阅号”变更为“服务号”,随即找腾讯的客服沟通,客服还算是热情,mm耐心的告之系统已经更新,对于无法升级的微信号,只能重新注册----“*#*(*¥)¥k30#$e)”,一阵抓狂后,只能重新注册了,下面就开始从注册到内部需求讨论,到开发的图文总结。

Step1:微信注册

在微信公众号官网:https://mp.weixin.qq.com,点击注册

image

如上图所示,微信号由邮箱注册,每个邮箱仅能申请一种帐号:服务号、订阅号或企业号。

这里按照说明输入公司信息即可,本次我们选择的是认证服务号的选项:

image

为了认证服务号,需要支付300元/年,这个步骤稍微麻烦一些:财务打款、等待7个工作日、邮递发票等。

需要注意的是,微信的认证不是腾讯官方,是其委托方的第三方,这个刚开始的时候还比较差异。

image

 

在完成后的认证后,认证信息如下(略过中间扫描公司的营业执照、扫描盖公章的认证协议等细节):

image

认证后的微信(带金色对钩的是本次开发的微信):

           葡萄城控件_20150402_100721葡萄城控件_20150402_100722

 

Step2:微信文档&API学习

微信开发和学习使用ComponentOne控件一样,需要做第一件事件是看微信官方的文档、API、demo样例代码,这样能极大减少走弯路的风险。

备注:原计划看几本热销的微信开发书籍,后来因为时间原因放弃了。

image

登陆微信后台,点击左侧的“开发者中心”,右侧出现的“开发者文档”、“image0”即是微信官方提供的文档和API利器,在开发过程中,会反复、多次使用,这2个是非常重要的资料。

在公众号“开发者中心”中,把AppID和AppSecret记下来,后面会多次用到。

image1

微信的官方文档,首先从上往下通读一遍:

image2

在文档的开始,微信官方就提供了PHP示例代码,image3。 且其明确的告之,微信公众号接口只支持80接口.

官方文档写的非常细,如获取image4是基于HTTP请求,用的是GET方式,其他的文档请直接参阅image5

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。
http请求方式: GET
登录后复制
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
登录后复制

image6

<br/>
登录后复制
登录后复制
登录后复制
备注:access_token的有效时间是7200s,既需要自行做一个缓存,2小时刷新一次access_token; 我在这里用的是文件的缓存方式,添加了时间戳。
登录后复制
<br/>
登录后复制
登录后复制
登录后复制

Step3:开发环境搭建

这节,我们着手搭建环境。

首先选择image7 搭建源码托管环境,OSC提供了免费的私有项目,配合使用TortoiseGit-1.8.11.0-64bit,使得搭建源码托管环境非常简单。另外,其在国内访问Git速度超快(赞一个!)

接着安装软件,配置电脑开发环境:

    • Windows 8.1 64位 中文版

    • JetBrains PhpStorm 8.0.2

    • SQL Server 2008

    • PHP 5

为了方便测试,和公司网管沟通,把微信的***.image8/ 80端口映射到我的局域网电脑。事后证明,这种本地调试方法非常高效,极大了提高了开发、调试效率。最后,为了方便调试微信数据,需要写log进行日志呈现,这里我使用的是读写文件的方式。

function writeLogBegin($msg = "begin log..............")
登录后复制
{
登录后复制
    $logFile = date('Y-m-d') . '.txt';
登录后复制
    $msg = date('Y-m-d H:i:s') . ' >>> ' . $msg . "
";
登录后复制
    file_put_contents("c:\log.txt", $msg);
登录后复制
}
登录后复制

 

Step4:微信开发

首先,结合业务特点,规划微信底部的自定义菜单。

image9

小技巧:自定义菜单不用写代码,用微信官方自带的调试页面即可完成。

 

规划好自定义菜单后,POST JSON到微信服务器,可直接使用image0。

76893991743989441921

保存生成的access_token, 类似如下的文本:

vU2rq8nzdXZWmcS3jO1OAZzRL5dnm3OIlsPF8ZCKHkTGfrG8f87QpwYa4mBpkTvnuy0pQJsfyq_L5xLIqPSoIBIqdsVAaKOuEgBrPpQ4

 

接着选择“自定义菜单”,输入刚才保存的access_token,输入如下的JSON字符串:

{
      "button":[    
      {    
           "name":"学习中心",    
           "sub_button":[    
            {    
               "type":"click",    
               "name":"联系葡萄城",    
               "key":"101"    
            }]

       },    
       {    
           "name":"我的服务",    
           "sub_button":[    
            {    
                "type": "view",    
                "name": "最新动态",    
                "url": "

以上就是PHP开发微信服务号图解的详细内容,更多请关注php中文网其它相关文章!

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号