Heim  >  Artikel  >  Backend-Entwicklung  >  (1)微信公众号开发基本配置

(1)微信公众号开发基本配置

WBOY
WBOYOriginal
2016-06-13 12:28:141020Durchsuche

(一)微信公众号开发基本配置

 

作为用代码进行微信开发者或要实现事件响应等功能,微信开发基本配置是必不可少的环节,本文大致梳理开发配置的流程。

 

1、登入微信公众平台:开发 ---> 基本配置

 

 

2、在基本配置页面有“服务器配置”,默认是未启用状态,需要我们先点击“修改配置”进行相关项目填写

 

3、填写以下项目内容

 

  •  URL:必须以http://开头,目前仅支持80端口,服务器地址必须是可访问的有效地址(注:用本文中URL举例,曾经看到一篇博文将URL地址填为http://tx.heivr.com/token,但亲测实际开发中无法响应事件,修改URL至具体的文件即可成功);
  • EncodingAESKey随机生成即可;
  • token:微信特别强调了填写的URL需要响应token,因此在index.php中需要进行验证,代码如下:
    <span style="color: #008080;"> 1</span> <span style="color: #000000;">php</span><span style="color: #008080;"> 2</span> <span style="color: #008080;">define</span>("TOKEN", "此处填写你设置的token值"<span style="color: #000000;">);</span><span style="color: #008080;"> 3</span> <span style="color: #008080;"> 4</span> <span style="color: #800080;">$wechatObj</span> = <span style="color: #0000ff;">new</span><span style="color: #000000;"> CallbackAPI;</span><span style="color: #008080;"> 5</span> <span style="color: #800080;">$wechatObj</span>-><span style="color: #000000;">valid();</span><span style="color: #008080;"> 6</span> <span style="color: #008080;"> 7</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> CallbackAPI {</span><span style="color: #008080;"> 8</span> <span style="color: #008080;"> 9</span>     <span style="color: #008000;">/*</span><span style="color: #008000;">*</span><span style="color: #008080;">10</span> <span style="color: #008000;">     * 签名验证</span><span style="color: #008080;">11</span> <span style="color: #008000;">     * @return [type] [description]</span><span style="color: #008080;">12</span>      <span style="color: #008000;">*/</span><span style="color: #008080;">13</span>      <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> valid() {</span><span style="color: #008080;">14</span>         <span style="color: #800080;">$echoStr</span> = <span style="color: #800080;">$_GET</span>["echostr"<span style="color: #000000;">];</span><span style="color: #008080;">15</span>         <span style="color: #800080;">$signature</span> = <span style="color: #800080;">$_GET</span>["signature"<span style="color: #000000;">];</span><span style="color: #008080;">16</span>         <span style="color: #800080;">$timestamp</span> = <span style="color: #800080;">$_GET</span>["timestamp"<span style="color: #000000;">];</span><span style="color: #008080;">17</span>         <span style="color: #800080;">$nonce</span> = <span style="color: #800080;">$_GET</span>["nonce"<span style="color: #000000;">];</span><span style="color: #008080;">18</span>         <span style="color: #800080;">$token</span> =<span style="color: #000000;"> TOKEN;</span><span style="color: #008080;">19</span>         <span style="color: #008000;">//</span><span style="color: #008000;">将token、timestamp、nonce按字典序排序</span><span style="color: #008080;">20</span>         <span style="color: #800080;">$tmpArr</span> = <span style="color: #0000ff;">array</span>(<span style="color: #800080;">$token</span>, <span style="color: #800080;">$timestamp</span>, <span style="color: #800080;">$nonce</span><span style="color: #000000;">);</span><span style="color: #008080;">21</span>         <span style="color: #008080;">sort</span>(<span style="color: #800080;">$tmpArr</span><span style="color: #000000;">);      </span><span style="color: #008080;">22</span>         <span style="color: #800080;">$tmpStr</span> = <span style="color: #008080;">implode</span>(<span style="color: #800080;">$tmpArr</span><span style="color: #000000;">);</span><span style="color: #008080;">23</span>         <span style="color: #008000;">//</span><span style="color: #008000;">对tmpStr进行sha1加密</span><span style="color: #008080;">24</span>         <span style="color: #800080;">$tmpStr</span> = <span style="color: #008080;">sha1</span>(<span style="color: #800080;">$tmpStr</span><span style="color: #000000;">);</span><span style="color: #008080;">25</span>         <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$tmpStr</span> == <span style="color: #800080;">$signature</span><span style="color: #000000;">){</span><span style="color: #008080;">26</span>             <span style="color: #008080;">header</span>('content-type:text'<span style="color: #000000;">);</span><span style="color: #008080;">27</span>             <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$echoStr</span><span style="color: #000000;">;</span><span style="color: #008080;">28</span>             <span style="color: #0000ff;">exit</span><span style="color: #000000;">;</span><span style="color: #008080;">29</span> <span style="color: #000000;">        }</span><span style="color: #008080;">30</span> <span style="color: #000000;">    }</span><span style="color: #008080;">31</span> }

    在浏览器中运行index.php若程序无误即可看到返回的字符串,且此时完成验证,并将代码中的token填写到基本配置中的相应位置,点击提交。(注:提交后可能会出现“token验证失败”的提示,若检查代码及各项参数无误,则需多点击几次提交即可成功

     4、提交成功后,点击“开启”按钮,即进入开发者模式,该模式开启后功能 ---> 自定义菜单等部分功能即不可用,若想使用点击“停用”即可

     

     

     

     特此声明:相关文章均为查阅资料、阅读大神博文后结合实际开发情况遇到的问题整理而成,能找到原博的必会署名,找不到原博而引用的内容还望原博主海涵

     

     

     

     

     

     

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:微信大众号授权设置Nächster Artikel:前端学PHP之恒量