日韩欧美人妻无码精品白浆,夜夜嗨AV免费入口,国产欧美官网在线看,高校回应聋哑女生因长相完美被质疑

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

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

admin
2014年12月2日 1:0 本文熱度 6139
在本系列隨筆的前面,主要就是介紹微信公眾號(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)的另外一種微信類(lèi)型,它主要是面對(duì)企業(yè)的。企業(yè)號(hào)是微信為企業(yè)客戶提供的移動(dòng)應(yīng)用入口??梢詭椭髽I(yè)建立員工、上下游供應(yīng)鏈與企業(yè) IT 系統(tǒng)間的連接。利用 企業(yè)號(hào) ,企業(yè)或第三方合作伙伴可以幫助企業(yè)快速、低成本的實(shí)現(xiàn)高質(zhì)量的移動(dòng)輕應(yīng)用,實(shí)現(xiàn)生產(chǎn)、管理、協(xié)作、運(yùn)營(yíng)的 移動(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)( http://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è)截圖)。


 


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



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


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


 


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


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


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


1)URL是企業(yè)應(yīng)用接收企業(yè)號(hào)推送請(qǐng)求的訪問(wèn)協(xié)議和地址,支持http或https協(xié)議。


2)Token可由企業(yè)任意填寫(xiě),用于生成簽名。


3)EncodingAESKey用于消息體的加密,是AES密鑰的Base64編碼。


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



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



 這個(gè)URL里面指向的頁(yè)面功能,需要對(duì)數(shù)據(jù)進(jìn)行解析并返回給微信服務(wù)器,因此我們需要在服務(wù)器上預(yù)先部署好這個(gè)處理功能入口。


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



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



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è)試的數(shù)據(jù)是通過(guò)Get方式發(fā)送的,因此我們的處理邏輯代碼如下所示,和公眾號(hào)的類(lèi)似處理,只是實(shí)現(xiàn)部分不太一樣而已。



復(fù)制代碼
    /// <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();
}
}
}

復(fù)制代碼

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



復(fù)制代碼
    /// <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);
}

復(fù)制代碼

 


 


如果對(duì)這個(gè)《C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用》系列感興趣,可以關(guān)注我的其他文章,系列隨筆如下所示:


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(20)-微信企業(yè)號(hào)的菜單管理


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(19)-微信企業(yè)號(hào)的消息發(fā)送(文本、圖片、文件、語(yǔ)音、視頻、圖文消息等)


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(18)-微信企業(yè)號(hào)的通訊錄管理開(kāi)發(fā)之成員管理


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(17)-微信企業(yè)號(hào)的通訊錄管理開(kāi)發(fā)之部門(mén)管理


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


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(15)-微信菜單增加掃一掃、發(fā)圖片、發(fā)地理位置功能


 C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(14)-在微信菜單中采用重定向獲取用戶數(shù)據(jù)


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(13)-使用地理位置擴(kuò)展相關(guān)應(yīng)用


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(12)-使用語(yǔ)音處理


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(11)--微信菜單的多種表現(xiàn)方式介紹


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(10)--在管理系統(tǒng)中同步微信用戶分組信息


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(9)-微信門(mén)戶菜單管理及提交到微信服務(wù)器


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(8)-微信門(mén)戶應(yīng)用管理系統(tǒng)功能介紹


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(7)-微信多客服功能及開(kāi)發(fā)集成


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(6)--微信門(mén)戶菜單的管理操作


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(5)--用戶分組信息管理


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(4)--關(guān)注用戶列表及詳細(xì)信息管理


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(3)--文本消息和圖文消息的應(yīng)答


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(2)--微信消息的處理和應(yīng)答


C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(1)--開(kāi)始使用微信接口


 



主要研究技術(shù):代碼生成工具、Visio二次開(kāi)發(fā)、客戶關(guān)系管理軟件、送水管理軟件等共享軟件開(kāi)發(fā)
專(zhuān)注于Winform開(kāi)發(fā)框架、Web開(kāi)發(fā)框架、WCF開(kāi)發(fā)框架的研究及應(yīng)用。
  轉(zhuǎn)載請(qǐng)注明出處:
撰寫(xiě)人:伍華聰  http://www.iqidi.com 
    





 

該文章在 2014/12/2 1:00:10 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved