微信公衆號發送消息給用戶 php

1.微信公衆號 這裏得話 一開始先去看了 微信公衆號的接口 發現網頁受權須要時認證的服務號,一開始想的是那去申請一個認證的服務號豈不是很費事,而後網上搜了搜,發現了還有微信公衆號我的測試號這個東西,全部的接口均可以使用(聽說是這樣),而後就開始去學習使用微信公衆號我的測試號的使用;我的測試號網址:http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/indexphp

2.我的測試號也是一通網上去找教程,試了不少個百度搜索的結果,發現都不徹底好用。由於我這個開發的網站是在本地開發的,卻是在剛纔搜索的教程中找到了 「內網穿透」這個神器,就是能夠把你本地的網址(通常是127.0.0.1)隱射到外網的一個網址上,這樣別人就能夠經過這個外網的網址(什麼是外網,就是否是本機電腦才能夠訪問的網址,全部人只要知道網址就能夠訪問的網絡就是外網)放問到你的內網(內網就是隻有本身本機的電腦能夠訪問的網絡)。java

https://blog.csdn.net/m0_37987521/article/details/79525515 這個網址就是剛纔成功內網穿透的教程。python

看到這裏,你們可能會有疑問爲啥須要這個內網穿透的東西,由於我的微信公衆號須要綁定一個網址,這個網址必須是外網,並且端口必須是80端口,才能夠成功。程序員

到這裏就解決了內網穿透這個問題,接下來的是如何把個人外網網址綁定到微信的我的測試公衆號上。以前也說了,在百度搜索引擎搜了不少,發現都不太好用,因而去谷歌搜索去試一下,你還別說,試了一個谷歌搜索,還真找到了好用的博客,https://www.kancloud.cn/zhangyouwu/zhangyouwu_weixinjiekou/538920照着博客的指示來,就成功綁定好了微信我的測試公衆號與個人外網網址。因此這裏你們能夠看出來,谷歌的好處,百度搜不到建議谷歌試一下,說不定就會有意外之喜。面試

3.綁定好了之後就是想去在微信公衆號對話框回覆消息,而後我這裏後臺能夠接收到消息,而後對這條消息進行回覆,就是公衆號自動回覆的功能,https://www.kancloud.cn/zhangyouwu/zhangyouwu_weixinjiekou/538922這裏照着教程(剛纔的網址)中走就行,有一點你們要注意的是,教程中的代碼中有中文的內容在代碼中,這個可能會讓咱們的代碼很差用,我是把教程中的代碼複製到sublime 上保存爲php文件纔好用,一開始複製到notepad++上代碼沒法正常運行,公衆號後臺對話框總是回覆 「該公衆號提供的服務出現故障,請稍後再試」,檢查代碼發現是教程中的中文在notepad++上亂碼了,這裏想和你們說的是看到中文必定要留個心眼,儘可能不要出現中文,還有就是文件路徑儘可能不要用中文路徑。編程

4.因爲甲方要求有用戶登陸須要經過微信公衆號獲取用戶的我的信息這個操做,因此還須要實現微信網頁受權,以下午所示,網址是:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842照着上面的教程去拼接出這樣一個連接:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirecturi=REDIRECTURI&responsetype=code&scope=SCOPE&state=STATE#wechatredirect 若提示「該連接沒法訪問」,請檢查參數是否填寫錯誤,是否擁有scope參數對應的受權做用域權限。上述是微信官方文檔的示例,接下來的連接是我拼出來的:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx24085f99556b3abe&redirecturi=http%3A//education123.natapp1.cc/&responsetype=code&scope=snsapiuserinfo&state=STATE#wechatredirectapi

能夠看到我修改了appid redirect_url scope 這三個參數,appid就是你申請微信公衆我的測試號的appid,就是下圖的方框框起來的appidredirecturl就是下面箭頭指向的連接,(這裏我就不打馬賽克了,給你們一個更直觀的清楚的感受,並且必須是我開啓了個人本地服務器才能夠訪問的,因此問題不大),redirecturl中是通過urlencode處理過的連接,不是原始的連接,這裏我使用python2 兩行代碼搞定from urllib import quoteprint(quote('http://education123.natapp1.cc/'))把上述拼接好的連接,直接複製傳到微信的對話框,在微信中訪問,會請求獲取你的信息,這裏就完成了微信網頁受權這個功能。服務器

5.上述完成之後,就是按照官方文檔去獲取code,可是我返回的網址中沒有任何的code信息,https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx24085f99556b3abe&redirecturi=http%3A//education123.natapp1.cc/&responsetype=code&scope=snsapiuserinfo&state=STATE#wechatredirect這個網址訪問之後,複製出來的連接是http.//education123.natapp1.cc/
沒有任何的code信息,咱們須要這個code信息去獲取用戶的信息(暱稱,性別,openid)等,因而又去google搜了一下,果真仍是又找到了。https://my.oschina.net/u/2487410/blog/603844這個博客,原來微信再返回code的時候,作了處理,直接複製連接是看不到這個code參數的。因而我照着這個代碼修改了一下,寫了getback.php,注意這個getback.php必須放到你的項目的根目錄下修改最初的受權的url:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx24085f99556b3abe&redirecturi=http%3A//education123.natapp1.cc/getback.php&responsetype=code&scope=snsapiuserinfo&state=STATE#wechat_redirect微信

能夠看到這個受權的url變成了getback.php 後綴的,這個getback.php網絡

是這樣子的,再來把剛纔的連接在微信的客戶端打開。

能夠看到出現了一串神祕代碼,這串代碼就是咱們須要的code.能夠看到獲取到了個人 暱稱和個人openid .

以爲文章不錯的歡迎關注個人WX公衆號:程序員喬戈裏
我是百度後臺開發工程師,哈工大計算機本碩,專一分享技術乾貨/編程資源/求職面試/成長感悟等,關注送5000G編程資源和本身整理的一份幫助很多人拿下java的offer的面經附答案,免費下載CSDN資源。

相關文章
相關標籤/搜索