网易首页 > 网易号 > 正文 申请入驻

「白熊原创」PHP开发微信公众号(微信开发者中心)

0
分享至

微信开发者中心

启用微信公众平台开发者中心需要拥有自己的服务器资源,用于存放自己开发的程序文件。服务器可以是一个虚拟空间,也可以是云主机或云空间,只要这个空间支持程序的运行并且有域名或者拥有可有效访问的IP。在完成开发后,开发者需要把程序上传到服务器,这样才能被微信服务器访问到。

用户可以在新网、万网、新浪SAE云计算平台等互联网应用服务提供商处申请免费域名、空间或购买收费域名、空间使用。

新浪SAE应用申请新浪云账号创建新浪云应用创建应用版本上传微信接口代码申请SAE中级认证微信开发者中心

接入微信公众平台进行开发,需要启用服务器、填写服务器配置信息、验证服务器地址的有效性,之后即可根据接口文档实现具体业务逻辑的开发工作。

配置和启用服务器

第1步:登录微信公众平台(网址是https://www.mp.weixin.com),在左侧列表中最下方找到"开发"项,单击下面的"基本配置"项,之后右侧出现新的内容,单击下面的"成为开发者"按钮



第2步:单击"修改配置"按钮

单击"修改配置"按钮后,进入配置页面


第3步:填写配置信息,填写完毕后,单击"提交"按钮,进行验证


第4步:在弹出的提示框中,单击"确定"按钮


第5步:生成AppSecret


第6步:单击右下角"启用"按钮,启动服务器配置

如果单击"确定"按钮后,页面顶端提示"token"验证失败,可以重试几次,有时微信服务器不稳定会造成这种情况,并不是程序本身有问题。


单击"确定"按钮,确认启用服务器配置


启用服务器配置成功后的页面

消息体加解密实现

公众号消息加解密是公众平台为了进一步加强公众号安全保障,提供的新机制。开发者需注意,公众账号主动调用API的情况将不受影响。只有被动回复用户的消息时,才需要进行消息加解密。

启用加解密功能(即选择兼容模式或安全模式)后,公众平台服务器在向公众账号服务器配置地址(可在"开发者中心"修改)推送消息时,URL将新增加两个参数(加密类型和消息体签名),并以此来体现新功能,加密算法采用AES。

为了配合消息加密功能的上线,并帮助开发者适配新特性,公众平台提供了3种加解密的模式供开发者选择,即明文模式、兼容模式、安全模式(可在"开发者中心"选择相应模式),选择兼容模式和安全模式前,需在开发者中心填写消息加解密密钥EncodingAESKey。

· 明文模式:维持现有模式,没有适配加解密新特性,消息体明文收发,默认设置为明文模式

· 兼容模式:公众平台发送消息内容将同时包括明文和密文,消息包长度增加到原来的3倍左右;公众号回复明文或密文均可,不影响现有消息收发;开发者可在此模式下进行调试

· 安全模式(推荐):公众平台发送消息体的内容只含有密文,公众账号回复的消息体也为密文,建议开发者在调试成功后使用此模式收发消息

配置失败常见问题与分析请求URL超时

这种情况一般是由于公众号服务器网速或响应速度慢,可以先重试几次或者过一段时间后再试,如果还是这样,则需要考虑更换速度更快、性能更好的服务器。

系统发生错误,请稍后重试

这种情况一般是由于微信服务器短时间内异常引起的,重试或者过一段时间尝试即可。

Token验证失败

这种情况需要具体分析验证过程被卡在哪一个环节了,可以通过调用$_SERVER来获取服务器和执行环境信息来分析。

这里需要使用以下两个元素:

· $_SERVER['REMOTE_ADDR']

来访者的IP,此处为微信服务器的IP

· $_SERVER['QUERY_STRING']

查询请求字符串,此处为微信服务器发过来的GET请求字符串

将以上两个变量记录到日志中,函数定义如下:

function traceHttp(){

$content=date('Y-m-d H:i:s')."\nREMOTE_ADDR:".$_SERVER['REMOTE_ADDR']."\nQUERY_STRING:".$_SERVER['QUERY_STRING']."\n\n";

$max_size=100000;

$log_filename='log.xml';

if(file_exists($log_filename) and (abs(filesize($log_filename))>$max_size)){

unlink($log_filename);

file_put_contents($log_filename,$content,FILE_APPEND);

上面的代码,在具有读写权限的空间下,使用file_put_contents()函数把字符串写到文件中。

然后在程序的数据处理之前调用该函数,记录信息,代码如下:

define('TOKEN','weixin');

traceHttp();

$wechatObj=new wechatCallbackapiTest();

if(isset($_GET['echostr'])){

$wechatObj->valid();

}else{

$wechatObj->responseMsg();

当我们提交URL和Token验证的时候,程序目录下应当生成一个log.xml文件,内容类似如下:

2014-5-9 11:09:27

REMOTE_ADDR:101.226.61.144

QUERY_STRING:signature=6e35c6f3d3279338781047dbffd09426b9ecdee3&echostr=5979420653038092664&timestamp=1392001400&nonce=1392192345

消息交互原理分析

从用户发送交互请求,到公众号的接收与回应,中间会经过微信服务器的处理,并最终将返回的内容送至客户端,整个消息的交互过程见下图:


具体的消息交互过程如下:

1当普通用户向公众号发消息时,用户发送的消息首先会被发送到微信服务器上。

2微信服务器将用户消息封装为XML数据包,然后将封装后的消息通过POST请求方式发送到公众号填写的URL所对应的服务器上。

3公众号服务器接收到用户消息后进行处理,处理完消息后,将需要回复的消息封装为微信公众平台指定的XML数据包,将POST请求结果返回给微信服务器。

4 微信公众平台接收到POST请求结果后,再将公众号回复消息进行处理,并最终将回复内容返回给普通微信用户。

整个消息交互过程为一次完整的POST请求,如果微信服务器在5秒内收不到POST请求的响应就会断掉连接,并重新发起请求,总共重试三次。如果重试三次仍未得到公众号服务器的回复,微信服务器则会丢掉该普通用户发送的消息。因此,程序需要保证在5秒内回复POST请求给微信服务器。

微信开发调试工具接口调试工具

微信公众平台提供了在线接口调试工具,网址为 。

该工具可以帮助开发者检测调用微信公众平台开发者API时发送的请求参数是否正确,提交相关信息后可获得服务器的验证结果。

接口调试工具使用步骤

第1步:选择合适的接口

在接口类型和接口列表的下拉菜单中选择要调试的接口


第2步:系统会生成该接口的参数表,您可以直接在文本框内填入对应的参数值。(红色星号表示该字段必填)


第3步:点击检查问题按钮,即可得到相应的调试信息。


特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
纪委“内鬼”副部级董宏敛财4.6亿,被判死缓

纪委“内鬼”副部级董宏敛财4.6亿,被判死缓

天闻地知
2024-06-14 14:05:37
知名上市公司:原子公司被追溯补税超8500万元!还不包括滞纳金

知名上市公司:原子公司被追溯补税超8500万元!还不包括滞纳金

每日经济新闻
2024-06-13 21:13:51
江苏一河道因水位降低,露出密布的地笼,为何河道内不能下地笼?

江苏一河道因水位降低,露出密布的地笼,为何河道内不能下地笼?

优美生态环境保卫者
2024-06-14 08:27:48
父亲给乡亲下跪借钱,全村没一人帮忙,我发迹后却聚在我家

父亲给乡亲下跪借钱,全村没一人帮忙,我发迹后却聚在我家

风吟笑烟雨
2023-02-18 08:05:02
导火索,燃了!发射24枚弹道导弹后,中东莽夫伊朗被空袭

导火索,燃了!发射24枚弹道导弹后,中东莽夫伊朗被空袭

小凡的音乐所
2024-06-13 14:40:58
26岁独居女孩回家后感觉不对劲,报警搜查后,危险远比想象得还近

26岁独居女孩回家后感觉不对劲,报警搜查后,危险远比想象得还近

墨染尘香
2024-06-03 10:48:13
生前封神,死后封杀

生前封神,死后封杀

最爱历史
2024-06-13 18:03:03
A股:下周一或将迎来大幅低开

A股:下周一或将迎来大幅低开

生活中的栗子
2024-06-14 15:23:18
徐子淇与富商老公合影太敢穿,丰满身材穿薄纱挖洞裙,真豁得出去

徐子淇与富商老公合影太敢穿,丰满身材穿薄纱挖洞裙,真豁得出去

蓓小西
2024-06-14 11:08:45
1962年,甘肃引洮工程失败,死了多少人,原因是什么

1962年,甘肃引洮工程失败,死了多少人,原因是什么

老黄有话
2024-06-07 08:00:14
广西桂林:分阶段执行住房“以旧换新”,9月1日起增加国企收购方式

广西桂林:分阶段执行住房“以旧换新”,9月1日起增加国企收购方式

澎湃新闻
2024-06-13 20:54:29
国足协头疼了!世预赛18强国足5个主场 10大专业球场该花落谁家?

国足协头疼了!世预赛18强国足5个主场 10大专业球场该花落谁家?

邮轮摄影师阿嗵
2024-06-13 21:25:30
华为:“华为是国内最大的牛肉进口商”纯属造谣

华为:“华为是国内最大的牛肉进口商”纯属造谣

财联社
2024-06-14 10:44:07
赖清德向大陆喊话,大陆高官赴台,柯文哲表态,蒋万安暴露真面目

赖清德向大陆喊话,大陆高官赴台,柯文哲表态,蒋万安暴露真面目

DS北风
2024-06-14 16:54:11
欧美齐对华加税:玩不起了,现在轮到中国去“敲门”了

欧美齐对华加税:玩不起了,现在轮到中国去“敲门”了

说天说地说实事
2024-06-14 12:36:48
换了4辆车才知道,一辆车开到报废最划算,都是吃亏换来的经验

换了4辆车才知道,一辆车开到报废最划算,都是吃亏换来的经验

户外小阿隋
2024-06-13 22:03:49
初创公司爆炸性声明:可将任何CPU架构性能提升100倍!自称CPU 2.0时代即将到来!

初创公司爆炸性声明:可将任何CPU架构性能提升100倍!自称CPU 2.0时代即将到来!

EETOP半导体社区
2024-06-13 11:33:59
俄罗斯越打越有钱,中国货把俄包圆了,美西方都被整懵了

俄罗斯越打越有钱,中国货把俄包圆了,美西方都被整懵了

糖逗在娱乐
2024-06-12 20:24:57
1980年,巩俐中学时期,小小年纪就出落得十分水灵

1980年,巩俐中学时期,小小年纪就出落得十分水灵

视点历史
2024-06-11 23:00:35
诺查丹玛斯2024预言:英王换人,日本大地震,一条龙带血飞到天际

诺查丹玛斯2024预言:英王换人,日本大地震,一条龙带血飞到天际

飞云如水
2024-06-11 18:45:26
2024-06-14 18:48:49
湘丽子呀
湘丽子呀
我是丽子,湖南湘西人?一个八零后的单身女汉子,从一个旅游爱好者
107文章数 9关注度
往期回顾 全部

科技要闻

马斯克重获信任 豪言特斯拉市值超10个苹果

头条要闻

佛山市公安局原副局长被查 曾每月配枪巡逻至少5次

头条要闻

佛山市公安局原副局长被查 曾每月配枪巡逻至少5次

体育要闻

我们为什么还爱欧洲杯?

娱乐要闻

江宏杰秀儿女刺青,不怕刺激福原爱?

财经要闻

央行:5月M1同比降4.2%M2同比增长7%

汽车要闻

提供100/240kW双电机版本车型 乐道L60实车曝光

态度原创

艺术
家居
手机
旅游
时尚

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

家居要闻

空谷来音 朴素留白的侘寂之美

手机要闻

荣耀Magic V Flip梦想礼盒款京东618限量发售

旅游要闻

中国女游客在泰国遭假冒司机性侵 嫌疑人竟是惯犯

陈星旭你也太爱晒了吧

无障碍浏览 进入关怀版