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

手机微信开发者中心

启用微信公众号开发者中心必须具有自身的服务器空间,用以储放自身研发的体系文件。网络服务器可以是一个网站空间,还可以是云服务器或云储存空间,只需这一室内空间适用程序流程的运作而且有网站域名或是有着可合理浏览的IP。在进行开发设计后,开发人员必须把程序流程上传至网络服务器,那样能够被微信服务器浏览到。

客户可以在万网、万网域名、新浪网SAE云计算服务等互联网技术运用服务供应商处申请办理免费域名、室内空间或选购收费标准网站域名、室内空间应用。

新浪网SAE运用申请办理新浪网云账号建立新浪云运用建立运用版本号提交微信接口编码申请办理SAE初级验证手机微信开发者中心

连接微信公众号开展开发设计,必须启用网络服务器、填好服务器配置信息内容、认证服务器ip的实效性,以后就可以依据接口文档完成实际领域模型的开发设计工作中。

配备和启用网络服务器

第1步:登陆微信公众号(网站地址是https:// ** .mp.weixin.com),在左边目录中最下边寻找"开发设计"项,点击下边的"基本上配备"项,以后右边发生新的內容,点击下边的"变成开发人员"按钮

第2步:点击"改动配备"按钮

点击"改动配备"按钮后,进到配备网页页面

第3步:填好配备信息内容,填好完成后,点击"递交"按钮,开展认证

第4步:在弹出来的弹出框中,点击"明确"按钮

第5步:转化成AppSecret

第6步:点击右下方"启用"按钮,运行服务器配置

假如点击"明确"按钮后,网页页面顶部提醒"token"验证失败,可以再试几回,有时候微信服务器不稳定会导致这样的事情,并非程序流程自身有什么问题。

点击"明确"按钮,确定启用服务器配置

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

消息体加解密完成

微信公众号消息加解密是公众平台为了更好地进一步加强微信公众号安全防范措施,给予的新机制。开发人员特别注意,微信公众账号积极启用API的状况将不受影响。仅有处于被动回应客户的消息时,才必须开展消息加解密。

启用加解密作用(即挑选兼容或安全模式)后,群众平台服务器在向微信公众账号服务器配置详细地址(可在"开发者中心"改动)消息推送消息时,URL将新提升2个主要参数(数据加密种类和消息体签字),并借此来反映新作用,加密技术选用AES。

为了更好地相互配合消息数据加密作用的发布,并协助开发人员兼容新特点,微信公众号给予了3种加解密的方式供开发人员挑选,即密文方式、兼容、安全模式(可在"开发者中心"挑选相对应方式),挑选兼容和安全模式前,需要在开发者中心填好消息加解密密匙EncodingAESKey。

· 密文方式:保持目前方式,沒有兼容加解密新特点,消息体密文收取和发送,默认为密文方式

· 兼容:微信公众号推送消息內容将与此同时包含密文和保密,消息包长短提升到以前的3倍上下;微信公众号回应密文或保密均可,不危害目前消息收取和发送;开发人员可在这里方式下开展调节

· 安全模式(强烈推荐):微信公众号推送消息体的信息只带有保密,微信公众账号回应的消息体也为保密,提议开发人员在调节完成后应用此方式收取和发送消息

配备不成功疑难问题与剖析要求URL请求超时

这样的事情一般是因为微信公众号网络服务器网络速度或响应时间慢,可以先再试几回或是过一段时间后重试,假如或是那样,则必须考虑到拆换速率更快、特性更佳的网络服务器。

系统软件产生不正确,请稍后再试

这样的事情一般是因为微信服务器短期内内出现异常造成的,再试或是过一段时间试着就可以。

Token验证失败

这样的事情必须深入分析认证全过程被卡在哪儿一个阶段了,可以根据启用$_SERVER来获得网络服务器和实行自然环境信息内容来剖析。

这儿必须应用下列2个原素:

· $_SERVER[REMOTE_ADDR]

求助者的IP,这里为微信服务器的IP

· $_SERVER[QUERY_STRING]

查看要求字符串数组,这里为微信服务器发来的GET要求字符串数组

将以上2个自变量纪录到日志中,函数定义如下所示:

function traceHttp(){

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

$ ** x_size=100000;

$log_filename=log.xml;

if(file_exists($log_filename) and (abs(filesize($log_filename))>$ ** x_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=59794206530380926 ** &timestamp=1392001400&nonce=1392192345

消息互动基本原理剖析

从客户推送互动要求,到微信公众号的读取与回复,正中间会通过微信服务器的解决,并最后将返还的內容送至手机客户端,全部消息的互动全过程见下面的图:

实际的消息互动全过程如下所示:

1 当本地用户向微信公众号发消息时,客户推送的消息最先会被发送至微信服务器上。

2 微信服务器将客户消息封装形式为XML数据,随后将封装形式后的消息根据POST要求方法发送至微信公众号填好的URL所相应的网络服务器上。

3 微信公众号网络服务器接受到客户消息后开展解决,处理完消息后,将必须回应的消息封装形式为微信公众号特定的XML数据,将POST要求結果回到给微信服务器。

4 微信公众号接受到POST要求結果后,再将微信公众号回应消息开展解决,并最后将回应內容回到给一般微信客户。

全部消息互动全过程为一次详细的POST要求,假如微信服务器在5秒内不能收到POST要求的回应便会断开联接,并再次进行要求,一共再试三次。假如再试三次仍未获得微信公众号网络服务器的回应,微信服务器则会丢弃该本地用户推送的消息。因而,程序流程必须确保在5秒内回应POST要求给微信服务器。

微信平台开发调节专用工具插口调节专用工具

微信公众号给予了线上插口调节专用工具,网站地址为 。

该专用工具可以协助开发人员检验启用微信公众号开发人员API时推送的要求主要参数是不是恰当,递交有关信息后可得到网络服务器的检验結果。

插口调节专用工具应用流程

第1步:挑选适宜的插口

在接口方式和插口目录的下拉列表中挑选要校准的插口

第2步:系统软件会转化成该端口的参数,您可以同时在单元格内填写相应的变量值。(鲜红色星号表明该字段名必录)

第3步:点一下查验问题按钮,就可以获得对应的调试信息。

扫码免费用

源码支持二开

申请免费使用

在线咨询