這篇文章主要介紹了C#開發(fā)微信公眾號(hào)之接口開發(fā)的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括棲霞網(wǎng)站建設(shè)、棲霞網(wǎng)站制作、棲霞網(wǎng)頁(yè)制作以及棲霞網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,棲霞網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到棲霞省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!一、前言
當(dāng)下微信公眾號(hào)幾乎已經(jīng)是每個(gè)公司必備的,但是大部分微信公眾賬號(hào)用戶體驗(yàn)都欠佳,特別是涉及到用戶綁定等,需要用戶進(jìn)行復(fù)雜的操作才可以和網(wǎng)站綁定,或者很多公司直接不綁定,而是每次都讓用戶填寫賬號(hào)密碼。作為微信接口開發(fā)人員我們知道網(wǎng)頁(yè)授權(quán)可以用作微信網(wǎng)頁(yè)用作安全登錄,帶參數(shù)二維碼的使用用作記錄用戶來源,模板消息用作購(gòu)物消費(fèi)等消息的通知,但是很少看到有綜合利用這些高級(jí)接口做出體驗(yàn)比較好的公眾賬號(hào),這里分享一些我開發(fā)的用戶綁定和驗(yàn)證碼的一些心得。所需要的接口有基礎(chǔ)的回復(fù)、網(wǎng)頁(yè)授權(quán)、帶參數(shù)二維碼、模板消息。所以這里所講的必須是認(rèn)證服務(wù)號(hào)
二、需求
1.pc網(wǎng)站綁定個(gè)人微信賬號(hào)2.pc網(wǎng)站獲取驗(yàn)證碼(用戶注冊(cè)即綁定、找回密碼等場(chǎng)景)
三、實(shí)現(xiàn)流程及與傳統(tǒng)方法對(duì)比
1.pc網(wǎng)站綁定個(gè)人微信賬號(hào):
傳統(tǒng)的方法--是輸入賬號(hào)和密碼,然后通過網(wǎng)頁(yè)授權(quán)綁定,下次可以免登陸
利用微信接口--方法1、網(wǎng)頁(yè)授權(quán)
在pc端生成一個(gè)網(wǎng)頁(yè)授權(quán)的二維碼:url+id=32132312其中id為用戶的標(biāo)識(shí),用微信掃描 保存id和openid在對(duì)應(yīng)的用戶表即綁定成功
方法2、申請(qǐng)帶參數(shù)二維碼+網(wǎng)頁(yè)授權(quán)
在通過微信接口申請(qǐng)臨時(shí)的帶參數(shù)二位碼顯示在pc網(wǎng)頁(yè)上,所帶參數(shù)是根據(jù)登錄用戶生成的標(biāo)識(shí)一串?dāng)?shù)字 ,當(dāng)用戶掃描的時(shí)候微信回復(fù)的參數(shù)即為這串?dāng)?shù)字,將這串?dāng)?shù)字和openid保存在數(shù)據(jù)庫(kù)對(duì)應(yīng)的用戶表中即可。
注意:在這建議使用第2中方法:第1中方法是直接在網(wǎng)頁(yè)中綁定,用戶可能沒有關(guān)注我們的公眾賬號(hào),而第二種方法當(dāng)用戶沒有關(guān)注的時(shí)候提示先關(guān)注,關(guān)注完之后自動(dòng)綁定,并且提示成功,如果關(guān)注也是直接跳轉(zhuǎn)到我們的公眾賬號(hào)
四、用戶綁定流程圖
1.網(wǎng)頁(yè)授權(quán)綁定的流程圖:
2.帶參數(shù)二維碼綁定
五、用戶綁定實(shí)現(xiàn)方法主要代碼
這里以綁定第二種方法為例
1.首先用戶登錄pc網(wǎng)站 獲取到標(biāo)識(shí)也可以即時(shí)生成,然后以標(biāo)識(shí)為參數(shù)向微信服務(wù)器申請(qǐng)帶參數(shù)的二維碼方法詳情可參照我之前的文章:C#微信公眾號(hào)接口開發(fā)實(shí)例-高級(jí)接口-申請(qǐng)帶參數(shù)的二維碼
主要代碼獲取ticket 其中 scene_id即為用戶標(biāo)識(shí) 二維碼鏈接https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET 嵌入到網(wǎng)頁(yè)中即可
/// <summary> /// 調(diào)用微信接口獲取帶參數(shù)臨時(shí)二維碼的ticket /// 使用方法:https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET /// </summary> /// <param name="scene_id">二維碼帶的參數(shù)</param> /// <returns>json:ticket:換取二維碼的憑證,expire_seconds:憑證有效時(shí)間,url:二維碼解析后的地址。此處返回ticket 否則返回錯(cuò)誤碼</returns> public string GetQrcode(string appid, string appsecret, Int32 scene_id) { string QrcodeUrl = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={0}";//WxQrcodeAPI接口 string AccessToken = getTokenSession(appid, appsecret);//拉取全局的AccessToken11 QrcodeUrl = string.Format(QrcodeUrl, AccessToken); string PostJson = "{\"expire_seconds\": 1800, \"action_name\": \"QR_SCENE\", \"action_info\": {\"scene\": {\"scene_id\": " + scene_id + "}}}"; string ReText = WebRequestPostOrGet(QrcodeUrl, PostJson);//post提交 Dictionary<string, object> reDic = (Dictionary<string, object>)Jss.DeserializeObject(ReText); if (reDic.ContainsKey("ticket")) return reDic["ticket"].ToString();//成功 } else { return reDic["errcode"].ToString();//返回錯(cuò)誤碼 } }
2.用戶掃描帶參數(shù)二維碼(此處為臨時(shí)二維碼),非關(guān)注用戶提示關(guān)注,關(guān)注后直接綁定,關(guān)注用戶可以直接綁定,原理是掃描帶參數(shù)二維碼,微信會(huì)接收到xml形式的數(shù)據(jù)
解析獲取到scene_id因?yàn)橄⒁矌в脩粜畔penid 將scene_id和openid保存到用戶表即完成主要代碼如下:
switch (WxXmlModel.Event) { case "subscribe": if (string.IsNullOrEmpty(WxXmlModel.EventKey)) { XML = sohovan.com.wxapi.ResponseMessage.GetText(WxXmlModel.FromUserName, WxXmlModel.ToUserName,"關(guān)注成功"); } else { XML = sohovan.com.wxapi.ResponseMessage.SubScanQrcode(WxXmlModel.FromUserName, WxXmlModel.ToUserName, WxXmlModel.EventKey); //掃描帶參數(shù)二維碼先關(guān)注后推送事件11 } break; case "SCAN": XML = sohovan.com.wxapi.ResponseMessage.ScanQrcode(WxXmlModel.FromUserName, WxXmlModel.ToUserName, WxXmlModel.EventKey); //掃描帶參數(shù)二維碼已關(guān)注 直接推送事件 break; }
掃描分為兩種一種是先關(guān)注后進(jìn)入公眾號(hào)(Event=="subscribe")還有一種是直接進(jìn)入公眾號(hào) (Event="SCAN") 其中FromUserName是用戶的openid微信標(biāo)識(shí) 此時(shí)將openid 和scene_id保存到對(duì)應(yīng)用戶表即可需要
注意的是關(guān)注掃描中EventKey為qrscene_加標(biāo)識(shí) 如果標(biāo)識(shí)為321312那么EventKey="qrscene_321312",已經(jīng)關(guān)注的EventKey="321312"。
六、模板消息獲取驗(yàn)證碼實(shí)現(xiàn)方法
上一步已經(jīng)將pc網(wǎng)站和微信綁定,如果我們忘記密碼,傳統(tǒng)的做法是可以通過短信找回,弊端是對(duì)于手機(jī)號(hào)碼經(jīng)常換的用戶可能找不回,相信對(duì)于大部分年輕人來說換10個(gè)手機(jī)號(hào)碼也不會(huì)去換一個(gè)QQ好一個(gè)微信號(hào),這個(gè)時(shí)候我們通過微信找回我們的密碼是相對(duì)安全的
實(shí)現(xiàn)方法很多,比如在微信中修改,但是麻煩(需要查找到公眾賬號(hào),找到對(duì)應(yīng)的按鈕等等),這里可以利用帶參數(shù)二維碼用戶掃描pc網(wǎng)站的方式獲取,類似上面的方法,而此時(shí)利用微信模板消息,體驗(yàn)又更加方便。
獲取驗(yàn)證碼流程圖:
這個(gè)過程就是和短信類似,但是我覺得無論是從經(jīng)濟(jì)還是用營(yíng)銷上考慮都是好處多多,比較如果量大,每個(gè)月驗(yàn)證各種東西以萬條算的網(wǎng)站短信費(fèi)用就可以省不小一筆,同時(shí)還可以為微信引流一舉多得。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“C#開發(fā)微信公眾號(hào)之接口開發(fā)的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
網(wǎng)站欄目:C#開發(fā)微信公眾號(hào)之接口開發(fā)的示例分析-創(chuàng)新互聯(lián)
地址分享:http://muchs.cn/article20/ceepjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、域名注冊(cè)、企業(yè)建站、企業(yè)網(wǎng)站制作、全網(wǎng)營(yíng)銷推廣、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容