接口調(diào)用憑證access_token
-
PHP發(fā)起網(wǎng)絡(luò)請求方式
- file_get_contents
- fsockopen
-
curl
圖片1.png
-
curl實現(xiàn)get
圖片2.png -
curl實現(xiàn)post
圖片3.png -
curl實現(xiàn)文件上傳
圖片4.png -
終極函數(shù)
function http_request($url,$ret='',$file=''){ if (!empty($file)) { // 有文件上傳 //php5.5之前 '@'.$file;就可以進(jìn)地文件上傳 //$ret['pic'] = '@'.$file; //php5.6之后用此方法 $ret['pic'] = new CURLFile($file); } // 初始化 $ch = curl_init(); //相關(guān)設(shè)置 //設(shè)置請求的URL地址 curl_setopt($ch,CURLOPT_URL,$url); //請求頭關(guān)閉 curl_setopt($ch,CURLOPT_HEADER,0); //請求的得到的結(jié)果不直接輸出,而是以字符串結(jié)果返回 必寫 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //設(shè)置請求的超時時間 單位秒 curl_setopt($ch,CURLOPT_TIMEOUT,30); //設(shè)置瀏覽器型號 curl_setopt($ch,CURLOPT_USERAGENT,'MSIE001'); //證書不檢查 curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0); //設(shè)置為post請求 if($ret){ # 如果 $ret不為假則是post提交 # 開啟post請求 curl_setopt($ch,CURLOPT_POST,1); # post請求的數(shù)據(jù) curl_setopt($ch,CURLOPT_POSTFIELDS,$ret); } // 發(fā)起請求 $data = curl_exec($ch); // 有沒有發(fā)生異常 if(curl_errno($ch) > 0){ // 把錯誤發(fā)送給客戶端 echo curl_error($ch); $data = ''; } // 關(guān)閉請求 curl_close($ch); return $data; } PHP發(fā)起網(wǎng)絡(luò)請求步走
初始化、相關(guān)設(shè)置、發(fā)送請求、關(guān)閉資源
獲取access_token
access_toke是公眾號的全局唯一接口調(diào)用憑據(jù),公眾號調(diào)用各接口時都需使用它。
access_token的存儲至少要保留512個字符空間。
access_token的有效期目前為2個小時。
access_token的每天請求的次數(shù)為2000次。
根據(jù)官方所提的要求,那么我們在實現(xiàn)工作,一定要緩存起來我們access_token。
緩存的方案
數(shù)據(jù)庫、redis、mongodb、memcache、文件緩存-
文檔地址
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183

-
推薦使用 memcache緩存
圖片6.png
圖片7.png
圖片8.png
圖片9.png -
效果
圖片10.png
圖片11.png
//telnet 下查看memcache緩存的列表信息
stats items
STAT items:1:number 2
STAT items:1:age 3054538109
STAT items:1:evicted 0
STAT items:1:evicted_nonzero 0
STAT items:1:evicted_time 0
STAT items:1:outofmemory 0
STAT items:1:tailrepairs 0
STAT items:6:number 1
STAT items:6:age 3054538477
STAT items:6:evicted 0
STAT items:6:evicted_nonzero 0
STAT items:6:evicted_time 0
STAT items:6:outofmemory 0
STAT items:6:tailrepairs 0
//查看塊中的緩存列表
stats cachedump 6 1
ITEM wx3e7552f91168c93f_key [157 b; 1544673130 s]
get wx3e7552f91168c93f_key
//刪除
delete wx3e7552f91168c93f_key


自定義菜單
-
自定義菜單概述
圖片14.png
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013
微信公眾號默認(rèn)沒有開通底部是沒有菜單功能,需要使用者自行來創(chuàng)建開通。
-
注意點
- 自定義菜單最多包括3個一級菜單,每個一級菜單最多包含5個二級菜單。
- 一級菜單最多4個漢字,二級菜單最多7個漢字,多出來的部分將會以“...”代替。
- 創(chuàng)建自定義菜單后,菜單的刷新策略是,在用戶進(jìn)入公眾號會話頁或公眾號profile頁時,如果發(fā)現(xiàn)上一次拉取菜單的請求在5分鐘以前,就會拉取一下菜單,如果菜單有更新,就會刷新客戶端的菜單。測試時可以嘗試取消關(guān)注公眾賬號后再次關(guān)注,則可以看到創(chuàng)建后的效果。
-
按鈕事件
圖片15.png- 注
最常用的自定義類型按鈕為:view 它相當(dāng)有html中的a作用;view想跳轉(zhuǎn)到指定的URL,需要認(rèn)證后的公眾號才可以
- 注
-
自定義菜單創(chuàng)建
圖片16.png
圖片17.png
圖片18.png -
自定義菜單數(shù)據(jù)準(zhǔn)備-方式一
圖片19.png -
自定義菜單數(shù)據(jù)準(zhǔn)備-方式二
圖片20.png -
生成菜單文件
圖片21.png
圖片22.png -
執(zhí)行
圖片23.png -
效果
圖片24.png -
自定義菜單刪除接口
圖片25.png
圖片26.png
圖片27.png -
刪除成功
圖片28.png
圖片29.png -
自定義菜單事件推送.
事件,大家一定要牢記 click和view 只有認(rèn)證的公眾號使用view事件才能跳轉(zhuǎn)到任意url中。
圖片31.png
圖片32.png
圖片33.png -
效果
圖片34.png
新增素材
公眾號經(jīng)常有需要用到一些多媒體素材的場景,例如在使用接口特別是發(fā)送消息時,對多媒體文件、多媒體消息的獲取和調(diào)用等操作,是通過media_id來進(jìn)行的。素材管理接口對所有認(rèn)證的訂閱號和服務(wù)號開放。
-
新增臨時素材
圖片35.png- 注意點
1、臨時素材media_id是可復(fù)用的。
2、媒體文件在微信后臺保存時間為3天,即3天后media_id失效。
3、上傳臨時素材的格式、大小限制與公眾平臺官網(wǎng)一致。
4、圖片(image): 2M,支持PNG\JPEG\JPG\GIF格式
5、語音(voice): 2M,播放長度不超過60s,支持AMR\MP3格式
6、視頻(video): 10MB,支持MP4格式
7、縮略圖(thumb):64KB,支持JPG格式
- 注意點
-
新增永久素材
對于常用的素材,開發(fā)者可通過本接口上傳到微信服務(wù)器,永久使用。
如:企業(yè)logo,小圖標(biāo),公眾號有些場景,規(guī)定只能使用永久素材。請注意
1、最近更新:永久圖片素材新增后,將帶有URL返回給開發(fā)者,開發(fā)者可以在騰訊系域名內(nèi)使用(騰訊系域名外使用,圖片將被屏蔽)。
2、公眾號的素材庫保存總數(shù)量有上限:圖文消息素材、圖片素材上限為5000,其他類型為1000。
3、素材的格式大小等要求與公眾平臺官網(wǎng)一致:
4、圖片(image): 2M,支持bmp/png/jpeg/jpg/gif格式
5、語音(voice):2M,播放長度不超過60s,mp3/wma/wav/amr格式
6、視頻(video):10MB,支持MP4格式
7、縮略圖(thumb):64KB,支持JPG格式注
1、永久素材的使用一定要謹(jǐn)慎,用于公眾號規(guī)則我們必須用的地方和企業(yè)LOGO。
2、臨時素材我們可以隨便用。
3、說明:永久素材上傳時,它的上傳的文件域的名稱必須為 media
-
實現(xiàn)過程
-
第1步:制作出文件上傳的表單html
圖片36.png -
第2步:接受表單數(shù)據(jù)實現(xiàn)文件上傳功能
圖片37.png -
第3步:實現(xiàn)把本服務(wù)器中的圖片資源上傳到公眾號平臺去
臨時接口說明
圖片38.png
-
-
永久素材接口說明
圖片39.png-
編寫實現(xiàn)上傳到公眾號平臺的接口代碼
圖片40.png -
實現(xiàn)上傳
圖片41.png -
入庫
圖片42.png
圖片43.png
-
-
效果
image.gif
客服消息
客服消息是一種主動發(fā)送的消息模式,這個就是說微信用戶給公眾號發(fā)信息,在發(fā)送消息后,公眾號可以點對點的進(jìn)行回復(fù)!!
但是也是有條件的限制,只有激活用戶在48小時之內(nèi),可以無限制,發(fā)送消息。
-
發(fā)送客服消息
image.gif -
如何讓用戶激活
image.gif
image.gif -
實現(xiàn)過程
-
第1步:制作表單頁
圖片44.png -
第2步:接受數(shù)據(jù)
圖片45.png -
第3步:實現(xiàn)客服主動發(fā)消息功能、編寫接口代碼
圖片46.png -
實現(xiàn)互通
圖片47.png
-
-
效果
圖片48.png
生成場景二維碼
-
場景二維概述
image.png
為了滿足用戶渠道推廣分析和用戶帳號綁定等場景的需要,公眾平臺提供了生成帶參數(shù)二維碼的接口。使用該接口可以獲得多個帶不同場景值的二維碼,用戶掃描后,公眾號可以接收到事件推送。
-
場景二維碼作用
- 解決關(guān)注時來源問題
-
使用的場景
- 加盟
- 活動場景
- 分銷系統(tǒng)
-
目前有2種類型的二維碼
- 臨時二維碼,是有過期時間的,最長可以設(shè)置為在二維碼生成后的30天(即2592000秒)后過期,但能夠生成較多數(shù)量。臨時二維碼主要用于帳號綁定等不要求二維碼永久保存的業(yè)務(wù)場景
- 永久二維碼,是無過期時間的,但數(shù)量較少(目前為最多10萬個)。永久二維碼主要用于適用于帳號綁定、用戶來源統(tǒng)計等場景。
-
生成臨時和永久二維碼
- 獲取ticket(憑據(jù))
- 通過ticket(憑據(jù))換取二維碼圖片資源
- 保存二維碼圖片資源到本機
















































