1. 程式人生 > >PHP微信公眾平臺開發:配置、微信api接入驗證

PHP微信公眾平臺開發:配置、微信api接入驗證

微信公眾平臺基礎開發步驟主要有三步:

1、填寫伺服器

2、驗證伺服器地址的有效性

3、依據介面文件實現業務邏輯

    第一步大家應該都不陌生,其實就是在開啟開發者模式後需要配置的自己程式所在伺服器的路徑(必須得是可以公網訪問的域名或ip地址),例如http://www.abc.com/weixin/index.php,配置這個其實就是告訴微信伺服器,每次微信端傳送過來的處理以後就經過你自己的程式去執行,之後反饋處理結果,而不是像以前統統是交給微信伺服器做處理。在填寫好了相關配置後,就到了第二步的伺服器地址有效性驗證。

第二步是,當我們提交資訊後,微信伺服器將傳送GET請求到填寫的伺服器地址URL上,我們通過自己程式的處理,返回給微信伺服器所需要的驗證資訊,當驗證通過時,接入微信api則生效。微信伺服器傳送出GET請求有4個引數,signature微信加密簽名、echostr隨機字串、timestamp時間戳、nonce隨機數,我們在我們自己的程式碼中需首先獲取到這四個引數,然後根據相關要求對這些資料做出處理,流程如下:

校驗流程如下:
1. 將token、timestamp、nonce三個引數進行字典序排序
2. 將三個引數字串拼接成一個字串進行sha1加密
3. 獲得加密後的字串可與signature對比,標識該請求來源於微信
比如說我們的專案入口檔案是index.php的index方法,在這裡我們就需要按要求寫出處理邏輯
//微信api接入驗證 
public function index()
{
	//獲得幾個引數
	$token     = 'YourTokenString';//此處填寫之前開發者配置的token
	$nonce     = $_GET['nonce'];
	$timestamp = $_GET['timestamp'];
	$echostr   = $_GET['echostr'];
	$signature = $_GET['signature'];
	//引數字典序排序
	$array = array();
	$array = array($nonce, $timestamp, $token);
	sort($array);
	//驗證
	$str = sha1( implode( $array ) );//sha1加密
	//對比驗證處理好的str與signature,若確認此次GET請求來自微信伺服器,請原樣返回echostr引數內容,則接入生效,成為開發者成功,否則接入失敗。
	if( $str  == $signature && $echostr ){
	<span style="white-space:pre">	</span>//第一次接入微信api有echostr這個引數,之後就沒有了
		echo  $echostr;			
	}
	else{
		//接入成功後的其他處理
		code...
	}
}
程式碼填寫完成後,回到第一步的配置資訊填寫,所有資訊填寫完畢點選提交,微信伺服器就會根據我們寫的url路徑去驗證微信api是否接入成功,接入成功就會提示token驗證成功,這時候咱們的基礎配置就算完成啦!

還有很重要的一點,微信公眾號提供的api介面只支援80埠,這就需要我們在配置自己的伺服器的時候要麼關閉防火牆,要麼在防火請中配置開啟80埠,同時保證像php、mysql、nginx或者apache這些其它程序不會佔用80埠。初始就是這些,如果在配置方面還有其他問題,也歡迎大家留言和我討論,我也會盡自己最大的努力和大家一起解決遇到的問題的。

相關推薦

PHP公眾平臺開發配置api接入驗證

微信公眾平臺基礎開發步驟主要有三步: 1、填寫伺服器 2、驗證伺服器地址的有效性 3、依據介面文件實現業務邏輯     第一步大家應該都不陌生,其實就是在開啟開發者模式後需要配置的自己程式所在伺服器的路徑(必須得是可以公網訪問的域名或ip地址),例如http://www.a

公眾平臺開發進入篇(Web App開發入門)

WebApp與Native App有何區別呢? Native App: 1、開發成本非常大。一般使用的開發語言為Java、C++、Objective-C。 2、更新體驗較差、同時也比較麻煩。每一次釋出新的版本,都需要做版本打包,且需要使用者手動更新(有些應用程式即使不需要使用者手動更新,但是也需要有一個噁心

公眾平臺開發教程-關於申請公眾號訂閱號(服務號)的材料和流程

手機 開發 展示 公眾平臺開發 自定義 聯系 客服 申請微信公眾號 公眾 微信公眾號服務號與訂閱號的區別 訂閱號: 1、每天可以發1次信息,每次可以發送8篇文章(信息展示在微信公眾號折疊文件中) 2、不能申請微信支付功能 3、認證後才可以使用自定義菜單功能 4、訂閱號適合:

公眾平臺開發(1) 配置介面(公眾平臺搭建php開發配置詳細步驟講解)

一、簡介微信公眾平臺是騰訊公司在微信的基礎上新增的功能模組,通過這一平臺,個人和企業都可以打造一個微信的公眾號,並實現和特定群體的文字、圖片、語音的全方位溝通、互動。二、通訊機制三、註冊微信平臺公眾帳號四、伺服器端配置4.1 示例程式碼設定微信公眾平臺提供了一個php示例程式碼:(百度雲盤連結地址:https

公眾平臺開發 - 接入配置常見問題

配置 nes 寫法 同時 重要 open 無法 ani 多個參數 1.redirect_uri 參數錯誤 微信安全登陸“抱歉,出錯了” 微信公眾平臺換了服務器,域名也換了,所以要改一下配置,基礎配置都改完之後,調用自定義菜單接口,微信服務器始終登錄不上,就是因為這裏的網頁授

公眾平臺開發例項文件 wx_sample.php 詳細解釋

<?php /** * wechat php test */ //define your token define("TOKEN", "weixin"); $wechatObj = new wechatCallbackapiTest();//將11行的class類例項化 $wechatO

PHP公眾平臺開發高階篇--群發介面

<?php /** * 群發介面 * PS:群發之前呼叫“預覽介面”進行測試 * PS:通過第三方後臺呼叫微信上傳圖片素材介面,獲取圖片url,如:{"url":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/BdxWN2kspVgJOFpRHJojlWmbl0pMxUaJ

會員卡開發公眾平臺的基本配置

    最近公司名下有一家酒店要開張,所以讓技術部開發一套簡單的微信會員卡,滿足前期的基本需求,在此記錄下開發在微信公眾平臺需要進行哪些基本的配置。    1.配置ip白名單(在IP白名單內的IP來源,獲取access_token接口才可呼叫成功。)。    登入微信公眾平臺

PHP公眾平臺開發高階篇--模板訊息介面

* 2.不建議用瀏覽器直接請求,會導致推送多次訊息,可設定為事件推送 */ header("Content-type: text/html; charset=utf-8"); $postArr = file_get_contents('php://input'); $postObj = simplexm

公眾平臺開發PHP)(三) 訂閱事件(subscribe)處理

一、簡介 新使用者關注微信公眾平臺,將產生一個訂閱事件,即subscribe事件,預設程式碼中沒有對這一事件進行相應回覆處理。 在新使用者關注公眾平臺後,可能想知道該平臺提供了哪些功能,以及怎樣使用該平臺,通俗一點講就是該平臺的“使用說明書”。 本文將詳細講述對su

【備忘】【No5】公眾平臺開發入門到實戰開發視訊教程(Java+PHP)

(1)微信入門視訊 共14節課 (2)微信公眾平臺搭建與開發揭祕 共50節課 (3)深入淺出微信公眾平臺實戰開發(微網站、LBS雲、Api介面呼叫、服務號高階介面) 共16節課 (4)微信公眾平臺搭建與開發揭祕50集 (5)兄弟連24集 微信開發VIP教程 (6)微信jav

PHP公眾平臺開發高階篇—網頁授權介面

一、說明 二、程式碼實現 /* *$url 介面url string *$type 請求型別 string *$res 返回資料型別 string *%$arr post 請求引數 string */

畢業設計-公眾平臺開發與設計(二BAE)

註冊百度賬號後,http://developer.baidu.com, 1.註冊開發者,選擇個人,其他要求填寫就填寫; 2.建立應用,選擇web應用--手機web應用; 3.“管理控制檯”--“開發者服務管理”-“建立工程”,java語言,svn。 這些點滑鼠的事都比較簡單

第八篇 公眾平臺開發實戰Java版之如何網頁授權獲取使用者基本資訊

第一部分:微信授權獲取基本資訊的介紹 我們首先來看看官方的文件怎麼說: 如果使用者在微信客戶端中訪問第三方網頁,公眾號可以通過微信網頁授權機制,來獲取使用者基本資訊,進而實現業務邏輯。 關於網頁授權回撥域名的說明 1、在微信公眾號請求使用者網頁授權之前,開發者需要先到公眾平臺官網中的開發者中心頁配置授權

第九篇 公眾平臺開發實戰Java版之如何實現自定義分享內容

第一部分:微信JS-SDK介紹 微信JS-SDK是微信公眾平臺面向網頁開發者提供的基於微信內的網頁開發工具包。 通過使用微信JS-SDK,網頁開發者可藉助微信高效地使用拍照、選圖、語音、位置等手機系統的能力,同時可以直接使用微信分享、掃一掃、卡券、支付等微信特有的能力,為微信使用者提供更優質的網頁

第六篇 公眾平臺開發實戰Java版之如何自定義公眾號選單

我們來了解一下 自定義選單建立介面: 自定義選單查詢介面: 自定義選單刪除介面: 自定義選單介面可實現多種型別按鈕,如下: 1、click:點選推事件 使用者點選click型別按鈕後,微信伺服器會通過訊息介面推送訊息型別為event 的結構給開發者(參考訊息介面指

第一篇公眾平臺開發實戰Java版之瞭解公眾平臺基礎知識以及資料準備

相信很多人或多或少聽說了微信公眾平臺的火熱。但是開發還是有一點門檻,鑑於挺多朋友問我怎麼開發,問多了,自己平時也進行以下總結。 所以下面給大家分享一下我的經驗: 第一部分   介紹微信公眾號的一些簡單介紹以及微信扮演的一些角色,微信公眾號的重要性。 1. 微信公眾號是什麼?    官網

第五篇 公眾平臺開發實戰Java版之如何獲取公眾號的access_token以及快取access_token

一、access_token簡介 為了使第三方開發者能夠為使用者提供更多更有價值的個性化服務,微信公眾平臺 開放了許多介面,包括自定義選單介面、客服介面、獲取使用者資訊介面、使用者分組介面、群發介面等, 開發者在呼叫這些介面時,都需要傳入一個相同的引數 access_token,它是公眾賬號的全域性唯一票

第三篇 公眾平臺開發實戰Java版之請求訊息,響應訊息以及事件訊息類的封裝

微信伺服器和第三方伺服器之間究竟是通過什麼方式進行對話的? 下面,我們先看下圖: 其實我們可以簡單的理解: (1)首先,使用者向微信伺服器傳送訊息; (2)微信伺服器接收到使用者的訊息處理之後,通過開發者配置的URL和Token 來找到第三方伺服器,並以XML形式向第三方伺服器傳送訊息