成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

微信企業號的配置和使用

開發 后端
企業號是繼公眾號、訂閱號的另外一種微信類型,它主要是面對企業的。企業號是微信為企業客戶提供的移動應用入口。可以幫助企業建立員工、上下游供應鏈與企業 IT 系統間的連接。利用 企業號 ,企業或第三方合作伙伴可以幫助企業快速、低成本的實現高質量的移動輕應用,實現生產、管理、協作、運營的 移動化 。

在本系列隨筆的前面,主要就是介紹微信公眾號的門戶應用開發,最近把整個微信框架進行了擴展補充,增加了***的企業號的API封裝和開發,后續主要介紹如何利用C#進行微信企業號的開發工作,本篇作為微信企業號的開發的起步篇,介紹微信企業號的配置和使用。

1、微信企業號的注冊和登陸

企業號是繼公眾號、訂閱號的另外一種微信類型,它主要是面對企業的。企業號是微信為企業客戶提供的移動應用入口。可以幫助企業建立員工、上下游供應鏈與企業 IT 系統間的連接。利用 企業號 ,企業或第三方合作伙伴可以幫助企業快速、低成本的實現高質量的移動輕應用,實現生產、管理、協作、運營的 移動化 。

個人覺得企業號***的亮點是可以不限數量的消息發送,也就是可以在企業員工之間暢通交流。相對于公眾號和訂閱號,發送消息的謹慎程度,微信企業號可謂給人眼前一亮的感覺。不過微信企業號是需要內部建立好通訊錄,關注者需要匹配通訊錄的微信號、郵箱、電話號碼任一個通過才可以關注,也就是可以防止其他外來人員的自由關注了,另外如果為了安全考慮,還可以設置二次驗證,也就是一個審核過程。

企業號的認證和公眾號一樣,需要提供相關的企業資質文件,并且認證每年都要收取費用,否則可能有人員和功能的一些限制。覺得微信真是想著方法賺錢,目前已有的收費模式有,訂閱號、公眾號、企業號、開放平臺,好像都有認證收費的了,而且微信小店也還需要收2萬的押金,一切都是錢呀。

好了,其他不多說,微信的注冊地址是:https://qy.weixin.qq.com,一個郵箱不能同時注冊微信公眾號和微信企業號。

對于企業開通企業號并開始使用需要四步

1) 企業到微信官網( http://qy.weixin.qq.com )申請開通;

2) 開通后,企業在企業號管理后臺導入成員,發布二維碼;

3) 企業調用企業號 api 與企業自有系統對接開發;

4) 員工關注,收到微信信息,在微信中與企業交互

注冊好企業號,就可以通過微信掃一掃,掃描企業二維碼進行登錄了,掃描的時候,需要微信進行確認,才可以繼續輸入密碼進行登錄,操作界面如下所示(左邊是手機截圖,右邊是網頁截圖)。

 

登錄后我們就可以看到對應的電腦端的管理界面了。

2、設置開發回調模式

如果開發過微信公眾號,那么我們就知道,如果需要在微信服務器和網站服務器之間建立連接關系,實現消息的轉發和處理,那么就應該設置一個回調模式,需要配置好相關的參數。然后在自己 網站服務器里面建立一個處理微信服務器消息的入口。

 

進入配置后,我們需要修改相關的URL、Token、EncodingAESKey等參數,主要是URL,這個就是和公眾號的入口處理一樣的,需要我們發布到網站服務器上的處理入口。

Token和AESKey可以根據提示動態生成一個即可,AESKey好像必須是23位的,所以這個一般是讓它自己生成的,這個主要用來加密解密使用的。

URL、Token、EncodingAESKey三個參數說明。

1)URL是企業應用接收企業號推送請求的訪問協議和地址,支持http或https協議。

2)Token可由企業任意填寫,用于生成簽名。

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

驗證URL、Token以及加密的詳細處理請參考后續 “接收消息時的加解密處理” 的部分。

我公司的企業號配置后的界面如下所示。

 這個URL里面指向的頁面功能,需要對數據進行解析并返回給微信服務器,因此我們需要在服務器上預先部署好這個處理功能入口。

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

然后我們為了方便網站后臺使用,我們和公眾號的配置一樣,把它放到了Web.Config里面,如下所示。

3、實現回調頁面的功能開發

前面介紹了幾個配置項,需要在回調頁面里面使用的,本小節繼續介紹如何實現企業號信息的回發,使之通過回調測試的操作。

由于回調測試的數據是通過Get方式發送的,因此我們的處理邏輯代碼如下所示,和公眾號的類似處理,只是實現部分不太一樣而已。

  1. /// <summary>  
  2.     /// 企業號回調信息接口。統一接收并處理信息的入口。  
  3.     /// </summary>  
  4.     public class corpapi : IHttpHandler  
  5.     {  
  6.         /// <summary>  
  7.         /// 處理企業號的信息  
  8.         /// </summary>  
  9.         /// <param name="context"></param>  
  10.         public void ProcessRequest(HttpContext context)  
  11.         {  
  12.             string postString = string.Empty;  
  13.             if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")  
  14.             {  
  15.                 using (Stream stream = HttpContext.Current.Request.InputStream)  
  16.                 {  
  17.                     Byte[] postBytes = new Byte[stream.Length];  
  18.                     stream.Read(postBytes, 0, (Int32)stream.Length);  
  19.                     postString = Encoding.UTF8.GetString(postBytes);  
  20.                 }  
  21.  
  22.                 if (!string.IsNullOrEmpty(postString))  
  23.                 {  
  24.                     Execute(postString);  
  25.                 }  
  26.             }  
  27.             else 
  28.             {  
  29.                 Auth();  
  30.             }  
  31.         }  
  32.  
  33.         /// <summary>  
  34.         /// 成為開發者的***步,驗證并相應服務器的數據  
  35.         /// </summary>  
  36.         private void Auth()  
  37.         {  
  38.             #region 獲取關鍵參數  
  39.             string token = ConfigurationManager.AppSettings["CorpToken"];//從配置文件獲取Token  
  40.             if (string.IsNullOrEmpty(token))  
  41.             {  
  42.                 LogTextHelper.Error(string.Format("CorpToken 配置項沒有配置!"));  
  43.             }  
  44.             string encodingAESKey = ConfigurationManager.AppSettings["EncodingAESKey"];//從配置文件獲取EncodingAESKey  
  45.             if (string.IsNullOrEmpty(encodingAESKey))  
  46.             {  
  47.                 LogTextHelper.Error(string.Format("EncodingAESKey 配置項沒有配置!"));  
  48.             }  
  49.             string corpId = ConfigurationManager.AppSettings["CorpId"];//從配置文件獲取corpId  
  50.             if (string.IsNullOrEmpty(corpId))  
  51.             {  
  52.                 LogTextHelper.Error(string.Format("CorpId 配置項沒有配置!"));  
  53.             }   
  54.             #endregion  
  55.  
  56.             string echoString = HttpContext.Current.Request.QueryString["echoStr"];  
  57.             string signature = HttpContext.Current.Request.QueryString["msg_signature"];//企業號的 msg_signature  
  58.             string timestamp = HttpContext.Current.Request.QueryString["timestamp"];  
  59.             string nonce = HttpContext.Current.Request.QueryString["nonce"];  
  60.  
  61.             string decryptEchoString = "";  
  62.             if (new CorpBasicApi().CheckSignature(token, signature, timestamp, nonce, corpId, encodingAESKey, echoString, ref decryptEchoString))  
  63.             {  
  64.                 if (!string.IsNullOrEmpty(decryptEchoString))  
  65.                 {  
  66.                     HttpContext.Current.Response.Write(decryptEchoString);  
  67.                     HttpContext.Current.Response.End();  
  68.                 }  
  69.             }  
  70.         } 

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

  1. /// <summary>  
  2.     /// 企業號基礎操作API實現  
  3.     /// </summary>  
  4.     public class CorpBasicApi : ICorpBasicApi  
  5.     {  
  6.         /// <summary>  
  7.         /// 驗證企業號簽名  
  8.         /// </summary>  
  9.         /// <param name="token">企業號配置的Token</param>  
  10.         /// <param name="signature">簽名內容</param>  
  11.         /// <param name="timestamp">時間戳</param>  
  12.         /// <param name="nonce">nonce參數</param>  
  13.         /// <param name="corpId">企業號ID標識</param>  
  14.         /// <param name="encodingAESKey">加密鍵</param>  
  15.         /// <param name="echostr">內容字符串</param>  
  16.         /// <param name="retEchostr">返回的字符串</param>  
  17.         /// <returns></returns>  
  18.         public bool CheckSignature(string token, string signature, string timestamp, string nonce, string corpId, string encodingAESKey, string echostr, ref string retEchostr)  
  19.         {  
  20.             WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(token, encodingAESKey, corpId);  
  21.             int result = wxcpt.VerifyURL(signature, timestamp, nonce, echostr, ref retEchostr);  
  22.             if (result != 0)  
  23.             {  
  24.                 LogTextHelper.Error("ERR: VerifyURL fail, ret: " + result);  
  25.                 return false;  
  26.             }  
  27.  
  28.             return true;  
  29.  
  30.             //ret==0表示驗證成功,retEchostr參數表示明文,用戶需要將retEchostr作為get請求的返回參數,返回給企業號。  
  31.             // HttpUtils.SetResponse(retEchostr);  
  32.         } 

原文出自:http://www.cnblogs.com/wuhuacong/p/3991735.html

責任編輯:林師授 來源: 伍華聰的博客
相關推薦

2014-09-28 22:38:21

微信企業號

2014-09-24 13:11:34

信企業號

2014-09-25 15:27:28

微信企業號注冊流程

2014-10-21 15:42:30

微信企業號企業移動平臺

2014-09-25 13:40:52

微信企業號圖解

2014-09-25 15:51:07

微信企業號認證審核

2014-09-25 15:48:51

微信企業號申請認證

2014-09-23 16:37:39

微信企業號移動應用入口

2014-09-25 14:19:00

微信企業號案例

2014-09-24 11:45:15

微信企業號開發

2014-09-25 14:05:15

微信企業號案例

2014-09-24 09:59:23

微信企業號開發

2014-09-24 11:32:21

微信企業號開發

2014-09-25 14:08:58

微信企業號案例

2014-09-24 11:11:08

微信企業號開發

2014-09-24 13:04:13

微信企業號

2021-03-05 06:25:19

fiddler微信公眾號小程序

2022-01-11 20:50:12

微信企業微信移動應用

2014-09-25 13:19:35

微信企業號

2014-09-25 14:10:36

微信企業號案例
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久噜噜噜精品国产亚洲综合 | 久久久久久国产 | 久久精品亚洲精品国产欧美kt∨ | 日韩精品久久久久 | 天天想天天干 | 亚洲91精品 | 亚洲一区中文字幕在线观看 | 精品在线一区 | 亚洲精品一区二区网址 | 精品一区二区在线视频 | 成人妇女免费播放久久久 | 国产免费福利 | 超碰97av| 欧美日韩亚洲视频 | 在线免费观看亚洲 | 做a网站| 国产一区二区三区视频 | 欧美日韩久久精品 | 精品久久久久久久久久久院品网 | www.久久久久久久久 | 欧美一区免费 | 麻豆成人在线视频 | 成人在线观看免费 | 久久激情网 | 在线天堂免费中文字幕视频 | 在线一区| 国产日韩欧美在线播放 | 狠狠入ady亚洲精品经典电影 | 免费视频一区 | 国产一级一级国产 | 亚洲视频二区 | 97av视频| 日本电影韩国电影免费观看 | 国产成人综合一区二区三区 | 亚洲精品一区二区三区在线 | 日韩成人 | 福利二区 | 欧美精品一区在线 | 精品国产欧美一区二区三区成人 | av毛片| 久久免费视频1 |