【微信服務號開發】01.接入指南

前言

看成爲小白,來開發微信的時候,只依據官方文檔來開發是很痛苦的,怎麼配置,怎麼編寫代碼文件,怎麼讓映射到外網訪問,問題不少,比較痛苦。
下面內容來解決這些痛點,有不懂的問題,能夠在下面留言評論哦。
會出一系列的【微信服務號開發】詳細文章,敬請關注!php

接入指南

接入微信公衆平臺開發,開發者須要按照以下步驟完成:git

一、填寫服務器配置
二、驗證服務器地址的有效性
三、依據接口文檔實現業務邏輯web

詳細實現

第一步:填寫服務器配置

登陸微信公衆平臺官網後,在公衆平臺官網的開發-基本設置頁面,勾選協議成爲開發者,點擊「修改配置」按鈕,填寫服務器地址(URL)、Token和EncodingAESKey,其中URL是開發者用來接收微信消息和事件的接口URL。Token可由開發者能夠任意填寫,用做生成簽名(該Token會和接口URL中包含的Token進行比對,從而驗證安全性)。EncodingAESKey由開發者手動填寫或隨機生成,將用做消息體加解密密鑰。安全

同時,開發者可選擇消息加解密方式:明文模式、兼容模式和安全模式。模式的選擇與服務器配置在提交後都會當即生效,請開發者謹慎填寫及選擇。加解密方式的默認狀態爲明文模式,選擇兼容模式和安全模式須要提早配置好相關加解密代碼,詳情請參考消息體簽名及加解密部分的文檔。bash

第二步:微信開發測試號登錄地址

  • 登陸測試號

http://mp.weixin.qq.com/debug...服務器

http://stark.ngrok.wdevelop.c...
stark微信

第三步: 填寫接口配置信息

填寫 URL

此處填寫一個外網能夠訪問的接口,必須是80端口,就是url後面不能跟其餘自定義端口。
當咱們點擊底下提交按鈕的時候,微信會像這接口發送一個get請求
微信開發

開發者經過檢驗signature對請求進行校驗(下面有校驗方式)。若確認這次GET請求來自微信服務器,請原樣返回echostr參數內容,則接入生效,成爲開發者成功,不然接入失敗。加密/校驗流程以下:微信公衆平臺

1)將token、timestamp、nonce三個參數進行字典序排序dom

2)將三個參數字符串拼接成一個字符串進行sha1加密

3)開發者得到加密後的字符串可與signature對比,標識該請求來源於微信

填寫 token

token 隨便填寫,可是要和代碼中的token保持一致

第四步 驗證的URL接口php代碼實現

咱們建立一個wx.php 文件,最後把這個文件外網映射出去,可讓微信訪問。

  • 注意 :
$token = 'stark';  //這的token 和 上面填寫的保持一致
  • wx.php 文件實現
<?php
function checkSignature()
{
  $signature =   $_GET["signature"];
  $timestamp =   $_GET["timestamp"];
  $nonce =  $_GET["nonce"];
  $token = 'stark';  //這的token 和 上面填寫的保持一致
  $tmpArr = array($token,$timestamp, $nonce);

  // 1)將token、timestamp、nonce三個參數進行字典序排序
  sort($tmpArr, SORT_STRING);

  // 2)將三個參數字符串拼接成一個字符串進行sha1加密
  $tmpStr = implode( $tmpArr );
  $tmpStr = sha1( $tmpStr );

// 3)開發者得到加密後的字符串可與signature對比,標識該請求來源於微信
  if( $signature == $tmpStr ){
      //成功後輸出一個隨機字符串
      echo $_GET['echostr'];
      return true;
  }else{
      echo 'faild';
      return false;
  }

}

checkSignature();

第五步:讓上面的文件外網映射

使用ngrok

下面提供ngrok服務文件
加入qq羣號碼:205366897 下載ngrok服務
把下載的ngrok文件解壓,進入文件裏面
安裝shift 右鍵 會出現 在此處打開命令行(就是打開了cmd 必定要在 在cmd 裏面執行 不能使用 git bash)
在打開的窗口裏面輸入 :

ngrok -config=ngrok.cfg -subdomain stark 80


若是出現這個錯誤,說明這個子域名 被別人佔用


若是出現這個圖片,證實 開啓成功

其中 stark 是子域名,只能惟一,你要改爲本身定義的,若是別人使用了這個域名你就不能使用了

這樣就把本地的80端口映射到外網

映射以前,必須在本地啓動一個80端口

咱們使用xampp 工具作本地的web服務器啓動,本身去下載。

第六步:最後填寫好配置

第七步:最後點擊接口配置的提交按鈕

若是顯示配置失敗,證實這個接口配置失敗

若是出現如下配置,證實配置成功

相關文章
相關標籤/搜索