亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
1、微信企業(yè)號(hào)的註冊(cè)和登陸
2、設(shè)定開(kāi)發(fā)回調(diào)模式
3、實(shí)現(xiàn)回調(diào)頁(yè)面的功能開(kāi)發(fā)
首頁(yè) 微信小程式 微信開(kāi)發(fā) C#開(kāi)發(fā)微信入口網(wǎng)站及應(yīng)用(16)-微信企業(yè)號(hào)的配置與使用

C#開(kāi)發(fā)微信入口網(wǎng)站及應(yīng)用(16)-微信企業(yè)號(hào)的配置與使用

Feb 18, 2017 am 09:18 AM

?在本系列隨筆的前面,主要就是介紹微信公眾號(hào)的門(mén)戶應(yīng)用開(kāi)發(fā),最近把整個(gè)微信框架進(jìn)行了擴(kuò)展補(bǔ)充,增加了最新的企業(yè)號(hào)的API封裝和開(kāi)發(fā),後續(xù)主要介紹如何利用C#進(jìn)行微信企業(yè)號(hào)的開(kāi)發(fā)工作,本篇作為微信企業(yè)號(hào)的開(kāi)發(fā)的起步篇,介紹微信企業(yè)號(hào)的配置和使用。

1、微信企業(yè)號(hào)的註冊(cè)和登陸

企業(yè)號(hào)是繼公眾號(hào)、訂閱號(hào)的另外一種微信類型,它主要是面對(duì)企業(yè)的。企業(yè)號(hào)是微信為企業(yè)客戶提供的行動(dòng)應(yīng)用入口。可以幫助企業(yè)建立員工、上下游供應(yīng)鏈與企業(yè) IT 系統(tǒng)間的連結(jié)。利用 企業(yè)號(hào) ,企業(yè)或第三方合作夥伴可以幫助企業(yè)快速、低成本的實(shí)現(xiàn)高品質(zhì)的行動(dòng)輕應(yīng)用,實(shí)現(xiàn)生產(chǎn)、管理、協(xié)作、營(yíng)運(yùn)的 行動(dòng)化 。

個(gè)人覺(jué)得企業(yè)號(hào)最大的亮點(diǎn)是可以不限數(shù)量的消息發(fā)送,也就是可以在企業(yè)員工之間暢通交流。相對(duì)於公眾號(hào)和訂閱號(hào),發(fā)送訊息的謹(jǐn)慎程度,微信企業(yè)號(hào)可謂給人眼前一亮的感覺(jué)。不過(guò)微信企業(yè)號(hào)是需要內(nèi)部建立好通訊錄,關(guān)注者需要匹配通訊錄的微信號(hào)、郵箱、電話號(hào)碼任一個(gè)通過(guò)才可以關(guān)注,也就是可以防止其他外來(lái)人員的自由關(guān)注了,另外如果為了安全考慮,還可以設(shè)定二次驗(yàn)證,也就是一個(gè)審核過(guò)程。

企業(yè)號(hào)的認(rèn)證和公眾號(hào)一樣,需要提供相關(guān)的企業(yè)資質(zhì)文件,並且認(rèn)證每年都要收取費(fèi)用,否則可能有人員和功能的一些限制。覺(jué)得微信真是想著方法賺錢(qián),目前已有的收費(fèi)模式有,訂閱號(hào)碼、公眾號(hào)、企業(yè)號(hào)、開(kāi)放平臺(tái),好像都有認(rèn)證收費(fèi)的了,而且微信小店也還需要收2萬(wàn)的押金,一切都是錢(qián)呀。

好了,其他不多說(shuō),微信的註冊(cè)地址是:https://qy.weixin.qq.com,一個(gè)郵箱不能同時(shí)註冊(cè)微信公眾號(hào)和微信企業(yè)號(hào)。

對(duì)於企業(yè)開(kāi)通企業(yè)號(hào)並開(kāi)始使用需要四步驟

1)?企業(yè)到微信官網(wǎng)(https://qy.weixin.qq.com)申請(qǐng)開(kāi)通;

2)?開(kāi)通後,企業(yè)在企業(yè)號(hào)管理後臺(tái)導(dǎo)入成員,發(fā)布二維碼;

3)?企業(yè)調(diào)用企業(yè)號(hào)?api?與企業(yè)自有系統(tǒng)對(duì)接開(kāi)發(fā);

4)?員工關(guān)注,收到微信訊息,在微信中與企業(yè)交互

註冊(cè)好企業(yè)號(hào),就可以透過(guò)微信掃一掃,掃描企業(yè)二維碼進(jìn)行登錄了,掃描的時(shí)候,需要微信進(jìn)行確認(rèn),才可以繼續(xù)輸入密碼進(jìn)行登錄,操作界面如下所示(左邊是手機(jī)截圖,右邊是網(wǎng)頁(yè)截圖) 。

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(16)-微信企業(yè)號(hào)的配置和使用 ?C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(16)-微信企業(yè)號(hào)的配置和使用

登入後我們就可以看到對(duì)應(yīng)的電腦端的管理介面了。

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(16)-微信企業(yè)號(hào)的配置和使用

2、設(shè)定開(kāi)發(fā)回調(diào)模式

如果開(kāi)發(fā)過(guò)微信公眾號(hào),那麼我們就知道,如果需要在微信伺服器和網(wǎng)站伺服器之間建立連接關(guān)係,實(shí)現(xiàn)訊息的轉(zhuǎn)發(fā)和處理,那麼就應(yīng)該設(shè)置一個(gè)回調(diào)模式,需要配置好相關(guān)的參數(shù)。然後在自己?網(wǎng)站伺服器裡面建立一個(gè)處理微信伺服器訊息的入口。

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(16)-微信企業(yè)號(hào)的配置和使用 ?

進(jìn)入設(shè)定後,我們需要修改相關(guān)的URL、Token、EncodingAESKey等參數(shù),主要是URL,這個(gè)就是和公眾號(hào)的入口處理一樣的,需要我們發(fā)佈到網(wǎng)站伺服器上的處理入口。

Token和AESKey可以根據(jù)提示動(dòng)態(tài)產(chǎn)生一個(gè)即可,AESKey好像必須是23位的,所以這個(gè)一般是讓它自己產(chǎn)生的,這個(gè)主要用來(lái)加密解密使用的。

URL、Token、EncodingAESKey三個(gè)參數(shù)說(shuō)明。

1)URL是企業(yè)應(yīng)用程式接收企業(yè)號(hào)推播請(qǐng)求的存取協(xié)定和位址,支援http或https協(xié)定。

2)Token可由企業(yè)任意填寫(xiě),用於產(chǎn)生簽名。

3)EncodingAESKey用於訊息體的加密,是AES金鑰的Base64編碼。

驗(yàn)證URL、Token以及加密的詳細(xì)處理請(qǐng)參考後續(xù) “接收訊息時(shí)的加解密處理” 的部分。

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(16)-微信企業(yè)號(hào)的配置和使用

我公司的企業(yè)號(hào)配置後的介面如下圖所示。

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(16)-微信企業(yè)號(hào)的配置和使用

?這個(gè)URL裡面指向的頁(yè)面功能,需要對(duì)資料進(jìn)行解析並傳回給微信伺服器,因此我們需要在伺服器上預(yù)先部署好這個(gè)處理功能入口。

除了上面的幾個(gè)函數(shù),還有一個(gè)CorpID的參數(shù)需要使用,我們可以在後臺(tái)主介面-設(shè)定裡面查看到。

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(16)-微信企業(yè)號(hào)的配置和使用

然後我們?yōu)榱朔奖憔W(wǎng)站後臺(tái)使用,我們和公眾號(hào)的配置一樣,把它放到了Web.Config裡面,如下所示。

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(16)-微信企業(yè)號(hào)的配置和使用

3、實(shí)現(xiàn)回調(diào)頁(yè)面的功能開(kāi)發(fā)

前面介紹了幾個(gè)配置項(xiàng),需要在回調(diào)頁(yè)裡面使用的,本小節(jié)繼續(xù)介紹如何實(shí)現(xiàn)企業(yè)號(hào)資訊的回發(fā),使之通過(guò)回調(diào)測(cè)試的操作。

由於回調(diào)測(cè)試的資料是透過(guò)Get方式發(fā)送的,因此我們的處理邏輯程式碼如下所示,和公眾號(hào)的類似處理,只是實(shí)現(xiàn)部分不太一樣而已。

????///?<summary>
????///?企業(yè)號(hào)回調(diào)信息接口。統(tǒng)一接收并處理信息的入口。????///?</summary>
????public?class?corpapi?:?IHttpHandler
????{????????///?<summary>
????????///?處理企業(yè)號(hào)的信息????????///?</summary>
????????///?<param name="context"></param>
????????public?void?ProcessRequest(HttpContext?context)
????????{????????????string?postString?=?string.Empty;????????????if?(HttpContext.Current.Request.HttpMethod.ToUpper()?==?"POST")
????????????{????????????????using?(Stream?stream?=?HttpContext.Current.Request.InputStream)
????????????????{
????????????????????Byte[]?postBytes?=?new?Byte[stream.Length];
????????????????????stream.Read(postBytes,?0,?(Int32)stream.Length);
????????????????????postString?=?Encoding.UTF8.GetString(postBytes);
????????????????}????????????????if?(!string.IsNullOrEmpty(postString))
????????????????{
????????????????????Execute(postString);
????????????????}
????????????}????????????else
????????????{????????????????Auth();
????????????}
????????}????????///?<summary>
????????///?成為開(kāi)發(fā)者的第一步,驗(yàn)證并相應(yīng)服務(wù)器的數(shù)據(jù)????????///?</summary>
????????private?void?Auth()
????????{????????????#region?獲取關(guān)鍵參數(shù)????????????string?token?=?ConfigurationManager.AppSettings["CorpToken"];//從配置文件獲取Token
????????????if?(string.IsNullOrEmpty(token))
????????????{
????????????????LogTextHelper.Error(string.Format("CorpToken?配置項(xiàng)沒(méi)有配置!"));
????????????}????????????string?encodingAESKey?=?ConfigurationManager.AppSettings["EncodingAESKey"];//從配置文件獲取EncodingAESKey
????????????if?(string.IsNullOrEmpty(encodingAESKey))
????????????{
????????????????LogTextHelper.Error(string.Format("EncodingAESKey?配置項(xiàng)沒(méi)有配置!"));
????????????}????????????string?corpId?=?ConfigurationManager.AppSettings["CorpId"];//從配置文件獲取corpId
????????????if?(string.IsNullOrEmpty(corpId))
????????????{
????????????????LogTextHelper.Error(string.Format("CorpId?配置項(xiàng)沒(méi)有配置!"));
????????????}?
????????????#endregion

????????????string?echoString?=?HttpContext.Current.Request.QueryString["echoStr"];????????????string?signature?=?HttpContext.Current.Request.QueryString["msg_signature"];//企業(yè)號(hào)的?msg_signature
????????????string?timestamp?=?HttpContext.Current.Request.QueryString["timestamp"];????????????string?nonce?=?HttpContext.Current.Request.QueryString["nonce"];????????????string?decryptEchoString?=?"";????????????if?(new?CorpBasicApi().CheckSignature(token,?signature,?timestamp,?nonce,?corpId,?encodingAESKey,?echoString,?ref?decryptEchoString))
????????????{????????????????if?(!string.IsNullOrEmpty(decryptEchoString))
????????????????{
????????????????????HttpContext.Current.Response.Write(decryptEchoString);
????????????????????HttpContext.Current.Response.End();
????????????????}
????????????}
????????}

具體的處理代碼如下所示,裡面的一個(gè)加解密處理的類別是微信企業(yè)號(hào)附錄裡面提供的,我使用了C#版本的SDK而已。

????///?<summary>
????///?企業(yè)號(hào)基礎(chǔ)操作API實(shí)現(xiàn)????///?</summary>
????public?class?CorpBasicApi?:?ICorpBasicApi
????{????????///?<summary>
????????///?驗(yàn)證企業(yè)號(hào)簽名????????///?</summary>
????????///?<param name="token">企業(yè)號(hào)配置的Token</param>
????????///?<param name="signature">簽名內(nèi)容</param>
????????///?<param name="timestamp">時(shí)間戳</param>
????????///?<param name="nonce">nonce參數(shù)</param>
????????///?<param name="corpId">企業(yè)號(hào)ID標(biāo)識(shí)</param>
????????///?<param name="encodingAESKey">加密鍵</param>
????????///?<param name="echostr">內(nèi)容字符串</param>
????????///?<param name="retEchostr">返回的字符串</param>
????????///?<returns></returns>
????????public?bool?CheckSignature(string?token,?string?signature,?string?timestamp,?string?nonce,?string?corpId,?string?encodingAESKey,?string?echostr,?ref?string?retEchostr)
????????{
????????????WXBizMsgCrypt?wxcpt?=?new?WXBizMsgCrypt(token,?encodingAESKey,?corpId);????????????int?result?=?wxcpt.VerifyURL(signature,?timestamp,?nonce,?echostr,?ref?retEchostr);????????????if?(result?!=?0)
????????????{
????????????????LogTextHelper.Error("ERR:?VerifyURL?fail,?ret:?"?+?result);????????????????return?false;
????????????}????????????return?true;????????????//ret==0表示驗(yàn)證成功,retEchostr參數(shù)表示明文,用戶需要將retEchostr作為get請(qǐng)求的返回參數(shù),返回給企業(yè)號(hào)。????????????//?HttpUtils.SetResponse(retEchostr);
????????}

?

?更多C#開(kāi)發(fā)微信入口網(wǎng)站及應(yīng)用(16)-微信企業(yè)號(hào)的設(shè)定與使用?相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!


本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話題

Laravel 教程
1597
29
PHP教程
1488
72