微信伺服器介面配置程式
要對接微信公眾平臺的"開發模式",即對接到自己的網站程式,必須在註冊成功之後,等待官方稽核,稽核通過之後,會在後臺頂部出現“高階功能”選單。
使用“高階功能”>“開發模式”之前,必須有一個已經部署在Internet上,可以用80埠訪問的網站(域名或IP訪問都可以)。
首次進入“高階功能”後介面如下:
我們看到預設情況下,“編輯模式”是開啟的,要使用“開發模式”,必須先關閉“編輯模式”。
點選進入編輯模式。如下圖:
點選右上角的滑塊,關閉“編輯功能”。
然後回到“高階功能”,進入“開發模式”,如下圖:
進入開發模式後,我們需要設定與微信伺服器通訊的Url,以及只有我們自己知道的Token(千萬不可洩露)。
官方已經提供了一個PHP版本的示例:http://mp.weixin.qq.com/mpres/htmledition/res/wx_sample.zip,你也可以根據官方API的說明用自己的語言編寫。
在Senparc.Weixin.MP的開源專案中,我們也提供了ASP.NET MVC和ASP.NET Web Forms兩種可以直接部署的Demo:https://github.com/JeffreySu/WeiXinMPSDK
在提交的時候,微信伺服器會對填寫的URL,使用Token進行一次Get方式請求的驗證,如果順利通過,則儲存成功,如果不通過,會給出錯誤資訊,並且所填寫的資訊是無法儲存的。
為了更加直觀地演示這個URL對應的程式中,應高包含哪些必要元素,我這裡給出Senparc.Weixin.MP的實現方法(我會分別以MVC和WebForms為例):
方法一:使用MVC
1、建立一個Controller,如WeixinController.cs,引用Senparc.Weixin.MP.dll(using Senparc.Weixin.MP.dll),最新的DLL見開源專案的Senparc.Weixin.MP.BuildOutPut資料夾https://github.com/JeffreySu/WeiXinMPSDK/tree/master/Senparc.Weixin.MP.BuildOutPut
2、設定一個私有變數(當然你也可以儲存在資料庫中),如:
?
public
readonly string
Token = "weixin" ; //與微信公眾賬號後臺的Token設定保持一致,區分大小寫。
|
3、建立一個名稱為Index,用於Get請求的Action,如:
?
/// <summary>
/// </summary>
[HttpGet]
[ActionName( "Index" )]
public
ActionResult Get( string
signature, string
timestamp, string
nonce, string
echostr)
{
if (CheckSignature.Check(signature, timestamp, nonce, Token))
{
return Content(echostr); //返回隨機字串則表示驗證通過
}
else
{
return Content( "failed:" + signature + "," +
MP.CheckSignature.GetSignature(timestamp, nonce, Token)+ "。如果您在瀏覽器中看到這條資訊,表明此Url可以填入微信後臺。" );
}
}
|
至此,這些程式碼編譯後按照要求部署到網站上,並且在“介面配置資訊”中填寫http://YourDomain/weixin,Token填寫weixin。
上述程式碼完整的WeixinController.cs可以看這裡。
方法二:使用Web Forms
Web Forms的驗證過程和MVC是一樣的,只是寫法上有點差別,這裡直接給出程式碼(也要using Senparc.Weixin.MP.dll),假設檔名為根目錄下weixin.aspx:
public
partial
class
Weixin : System.Web.UI.Page
{
private
readonly
string
Token =
"weixin"
;
//與微信公眾賬號後臺的Token設定保持一致,區分大小寫。
protected
void
Page_Load(
object
sender, EventArgs e)
{
string
signature = Request[
"signature"
];
string
timestamp = Request[
"timestamp"
];
string
nonce = Request[
"nonce"
];
string
echostr = Request[
"echostr"
];
if
(Request.HttpMethod ==
"GET"
)
{
//get method - 僅在微信後臺填寫URL驗證時觸發
if
(CheckSignature.Check(signature, timestamp, nonce, Token))
{
WriteContent(echostr);
//返回隨機字串則表示驗證通過
}
else
{
WriteContent(
"failed:"
+ signature +
","
+ CheckSignature.GetSignature(timestamp, nonce, Token));
}
}
else
{
//判斷Post或其他方式請求
}
Response.End();
}
private
void
WriteContent(
string
str)
{
Response.Output.Write(str);
}
}
按照上面的程式碼,在“介面配置資訊”中,Url應當填寫http://YourDomain/weixin.aspx,Token應當填寫weixin。
上述weixin.aspx.cs完整程式碼看這裡(當然你也可以寫成ashx進一步提高效率)。
CheckSignature.Check()方法是Senparc.Weixin.MP SDK中一個驗證請求的方法,已經做了封裝。這裡直接使用是為了簡化程式碼突出重點,感興趣的朋友可以直接看原始碼。
用以上MVC和Web Forms兩種方法的任意一種,已經可以讓後臺驗證通過。但是注意,光有Get的方法,尚不能與微信使用者發來的資訊通訊,因為通過前面的教程我們知道,微信後臺的Url是通過Get方式請求,而微信客戶端的請求是由Post方式請求的,關於Post的方法,我會在後面的教程中詳細說明。
並且,在目前的設定狀態下,即便你寫了Post相關的方法,通過驗證之後也並不表示你的伺服器已經可以接收到微信伺服器的訊息了,還有最後一步:手動開啟“開發者模式”:
現在這個微信賬號已經成功切換到了“開發者模式”,所有微信客戶端傳送到該公眾賬號的訊息,都將轉發到剛才填寫的Url中。
相關推薦
微信伺服器介面配置程式
要對接微信公眾平臺的"開發模式",即對接到自己的網站程式,必須在註冊成功之後,等待官方稽核,稽核通過之後,會在後臺頂部出現“高階功能”選單。 使用“高階功能”>“開發模式”之前,必須有一個已經部署在Internet上,可以用80埠訪問的網站(域名或IP
微信開發 介面配置失敗的坑新手注意
申請的SAE 用來微信開發,填寫完URL TOKEN後總會莫名其妙的爆出配置失敗 如下的錯誤 出現這種原因有如下的原因 ,,看你中招了沒 。。。 (1)最基本的檢查這兩個地方是否正確(怎麼檢查 不用我說吧) (2)當發現上面的填寫沒問題 那就看這個你中招沒,,你是否實名
【原創】配置微信伺服器與內網穿透--轉載請註明出處
微信公眾號開發 在進行學習微信公眾號開發時,首先我們需要做好一些必須的準備。 1.具有一個自己的公眾號平臺,方便進行學習。 2.在網上找一款內網穿透器,進行內網穿透,接入微信開發。 3.有一個已經搭建好的Web專案。 1.申請微信公眾號 進行微信公眾號申請時,在下方地址進
ASP.NET WEB API微信支付通知介面,返回xml資料,微信伺服器不識別問題
最近開發微信小程式中用到了微信支付功能,介面開發用的ASP.NET WEB API;在支付成功後,介面接受到微信伺服器的支付通知結果,處理完資料,介面返回給微信服務資料時出現了問題。微信伺服器識別不到返回的資料,導致重複通知。最終解決程式碼如下: protect
微信伺服器配置的一點點經驗(內含:驗證伺服器出現token驗證失敗的處理,接收事件出現XML格式錯誤,微信網頁授權獲取 access token 報錯40125)
首先需要多些網上的大神 連結:https://bbs.csdn.net/topics/390991193 ; https://blog.csdn.net/sinat_22878395/article/details/69258165 ; https://blog.csdn.net/hangh
PHP原生實現,校驗微信公眾號||小程式伺服器地址
1、原生的.php檔案: test.php <?php header('Content-type:text'); define("TOKEN", "weixin"); $wechatObj = new wechatCallbackapiTest();
微信-伺服器配置(4)
其實微信官方給出的伺服器配置已經很明白,可能對於初次微信開發的使用者來說,還是有些一頭霧水,所以本次就一步一步帶著大家配置伺服器。 這次我使用的伺服器是用自己內部公司搭建的伺服器,各位使用者也可以在
微信公眾平臺配置伺服器後自定義選單
1. 獲取access_token 登陸微信公眾平臺->開發者工具->線上介面除錯工具 填寫appid和appsecret 獲取到access_token之後填進去
微信公眾平臺配置伺服器之後實現自動回覆
參考微信公眾平臺開發者文件 下載示例程式碼 將示例程式碼通過FTP傳至自己的伺服器 配置域名和Token(我這裡是dandan) 隨機生成EncodingAESKey 驗證 新定義一個方法 public function index(){ if (isset($_GET[
解決微信小程序配置https不成功問題
成功 阿裏雲服務 備案 結果 自己的 申請證書 .com class 折騰 拿到一個微信小程序的項目,需要配置https安全鏈接(為什麽必須使用https不再贅述),預想這個已經很成熟的流程,應該不會有太大問題,結果還真是出乎意料,竟然掉進一個大坑,折騰好久。 申請證書配置
微信分享等配置,微信授權失敗講解
獲取 href ref 需要 微信分享 onf key ima config 微信要分享需要配置config,會經常遇到invalid sign..... 可能出現錯誤的原因有一下 1:nonceStr這個key的S是大寫的。 2:從後臺獲取signature的url是不
一,微信公眾號配置
需要 connect 圖片 獲得 load stat 重置 upload body 1,使用微信公眾號的web開發,需要申請一個公眾號,公眾號需要通過認證 具體要求詳見:https://mp.weixin.qq.com/wiki?t=resource/res_main&
zabbix設置微信報警的配置過程
mon b2c serve 參數 value south asc part reload zabbix設置微信報警的配置過程 轉發:https://blog.csdn.net/qq_31613055/article/details/78831607 微信企業號的申請 註冊
高仿微信聊天介面長按彈框樣式
效果圖 背景 在公司做的專案裡面,剛好有需要用到微信聊天介面長按彈框樣式這種 UI 的。 網上找了一下,沒找到。 Android 現成的 ListPopupWindow 又不能滿足需求。 因此在非上班時間擼一個出來,供大家使用。 示例程式碼 關鍵檔案、示例程式
.net Core 呼叫微信Jsapi介面,H5解析二維碼
專案裡需要用到掃描二維碼,自己實現,不會。 找到了兩種解決方案: 通過reqrcode.js,這是一個前端解析二維碼內容的js庫。如果二維碼比較清晰,用這種效果也不錯 呼叫微信掃一掃功能,這種效果很好。但是除錯介面超級麻煩。 具體實現:前端程式碼(vue)(前端用到 vux) &l
微信學習環境配置
1、按照官網介紹上的流程註冊賬號一系列簡單操作 2、去官網下載開發工具 3、(騰訊雲)伺服器和域名(備案再申請SSL認證,https) 其中關於tomacat的配置: 登入騰訊雲伺服器,開啟Tomcat安裝目錄,進入conf資料夾,將下載的證書裡面的tomacat資料夾的jks檔案上傳到
微信JS支付程式碼_前端呼叫微信支付介面
轉自:http://dditblog.com/itshare_553.html 跟大家分享一段微信支付的js程式碼片段、V3版的微信支付沒有paySignKey引數、基本上是直接複製就可以使用了、改一改自己的引數就好了、話不多說、直接上程式碼 支付按鈕的點選事件
C#微信Token問題配置步驟
開發前準備: 1.購買伺服器 2.首先先申請一個微信公眾號,在微信公眾號裡註冊一個服務號(個人除外--原因:目前微信不支援個人開通服務號,可以開通訂閱號,訂閱號不能開通微信支付功能) 3.開通後找到微信公眾號平臺裡的開發者工具,然後點開公眾平臺測試賬號(用測試賬號的前提就是你的公司申請的
HTML5仿手機微信聊天介面
HTML5仿手機微信聊天介面,截圖效果如下: 原始碼如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>HTML5模擬微信聊天介面&l
php微信支付介面開發,獲取php微信掃碼支付返回結果,php開發微信支付demo原始碼
現在很多網站都是用php開發的, 一些觀看了子恆老師微信公眾號運營視訊後, 想要更加深入的學習, 留言說“php怎麼做微信支付介面開發呢?” “有沒有php微信支付介面開發的demo例項” 下面來詳細談談… 一、 php微信支付介面開發要做的準備 只有你先準備配置好, 然後才能正確