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

微信企業號的消息發送(文本、圖片、文件、語音、視頻、圖文消息等)

開發 后端
企業號具有關注安全、消息無限制等特點,很適合企業內部的環境。本文主要介紹如何利用企業號實現文本、圖片、文件、語音、視頻、圖文消息等消息的發送操作。

我們知道,企業號主要是面向企業需求而生的,因此內部消息的交流顯得非常重要,而且發送、回復消息數量應該很可觀,對于大企業尤其如此,因此可以結合企業號實現內部消息的交流。企業號具有關注安全、消息無限制等特點,很適合企業內部的環境。本文主要介紹如何利用企業號實現文本、圖片、文件、語音、視頻、圖文消息等消息的發送操作。

1、企業號特點

對于企業號,有以下一些特點:

1)關注更安全

–只有企業通訊錄的成員才能關注企業號,分級管理員、保密消息等各種特性確保企業內部信息的安全。

企業可以設置自行驗證關注者身份,進行二次安全驗證,保證企業信息使用和傳遞安全。

若員工離職,企業管理員可在通訊錄中刪除該成員,該成員即自動取消關注企業號,同時微信中的企業號歷史記錄也會被清除。

2)應用可配置

–企業可自行在企業號中可配置多個服務號,可以連接不同的企業應用系統,只有授權的企業成員才能使用相應的服務號。

3)消息無限制

–發送消息無限制,并提供完善的的管理接口及微信原生能力,以適應企業復雜、個性化的應用場景。

企業可以主動發消息給員工,消息量不受限制

4)使用更便捷

–企業號在微信中有統一的消息入口,用戶可以更方便地管理企業號消息。微信通訊錄也可以直接訪問企業號中的應用。

2、企業號的管理接口內容

目前企業號的內容可以用下面的分層圖來展示,分別包含素材管理、被動響應消息、通訊錄管理、自定義菜單等內容,詳細可以看下面圖示。

 

3、企業號消息和事件的處理

企業號和公眾號一樣,可以分為消息處理和事件處理,下面是他們兩種類型的處理操作,也就發送的消息有文本消息、圖片消息、文件消息、視頻消息、語音消息、地理文字消息、圖文和多媒體消息等。

事件處理主要就是關注、取消關注事件,以及菜單click類型和view類型兩種操作,還有就是地理位置上報事件等。

兩種類型的處理圖如下所示。

 

4、企業號消息管理

在企業的管理后臺,和公眾號一樣,可以看到對應信息交流記錄,包括文字、圖片、地理位置等等,如下所示。

由于消息分為幾種類型,包括文本(Text)、圖片(Image)、文件(File)、語音(Voice)、視頻(Video)、圖文消息等(News)、MpNews等。

因此我們需要分別對它們進行一定的定義和封裝處理,如下是它們的信息對象設計圖。

企業號發送消息的官方定義如下:

企業可以主動發消息給員工,消息量不受限制

調用接口時,使用Https協議、JSON數據包格式,數據包不需做加密處理

目前支持文本、圖片、語音、視頻、文件、圖文等消息類型。除了news類型,其它類型的消息可在發送時加上保密選項,保密消息會被打上水印,并且只有接收者才能閱讀。

我們以發送的文本消息為例進行說明,它的定義如下所示。

  • text消息
{
   "touser": "UserID1|UserID2|UserID3",
   "toparty": " PartyID1 | PartyID2 ",
   "totag": " TagID1 | TagID2 ",
   "msgtype": "text",
   "agentid": "1",
   "text": {
       "content": "Holiday Request For Pony(http://xxxxx)"
   },
   "safe":"0"
}

參數 必須 說明
touser UserID列表(消息接收者,多個接收者用‘|’分隔)。特殊情況:指定為@all,則向關注該企業應用的全部成員發送
toparty PartyID列表,多個接受者用‘|’分隔。當touser為@all時忽略本參數
totag TagID列表,多個接受者用‘|’分隔。當touser為@all時忽略本參數
msgtype 消息類型,此時固定為:text
agentid 企業應用的id,整型。可在應用的設置頁面查看
content 消息內容
safe 表示是否是保密消息,0表示否,1表示是,默認0

 

其中每種消息都會包含以下消息所示,也就是它們共同的屬性:

    touser": "UserID1|UserID2|UserID3",
   "toparty": " PartyID1 | PartyID2 ",
   "totag": " TagID1 | TagID2 ",
   "msgtype": "text",
   "agentid": "1",

因此我們可以定義一個基類用來方便承載這些共同的信息。

  1. /// <summary>  
  2.     /// 企業號發送消息的基礎消息內容  
  3.     /// </summary>  
  4.     public class CorpSendBase  
  5.     {        
  6.         /// <summary>  
  7.         /// UserID列表(消息接收者,多個接收者用‘|’分隔)。特殊情況:指定為@all,則向關注該企業應用的全部成員發送  
  8.         /// </summary>  
  9.         public string touser { getset; }  
  10.  
  11.         /// <summary>  
  12.         /// PartyID列表,多個接受者用‘|’分隔。當touser為@all時忽略本參數  
  13.         /// </summary>  
  14.         public string toparty { getset; }  
  15.  
  16.         /// <summary>  
  17.         /// TagID列表,多個接受者用‘|’分隔。當touser為@all時忽略本參數  
  18.         /// </summary>  
  19.         public string totag { getset; }  
  20.  
  21.         /// <summary>  
  22.         /// 消息類型  
  23.         /// </summary>  
  24.         public string msgtype { getset; }  
  25.  
  26.         /// <summary>  
  27.         /// 企業應用的id,整型。可在應用的設置頁面查看  
  28.         /// </summary>  
  29.         public string agentid { getset; }  
  30.  
  31.         /// <summary>  
  32.         /// 表示是否是保密消息,0表示否,1表示是,默認0  
  33.         /// </summary>  
  34.         [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]  
  35.         public string safe { getset; }  
  36.  
  37.     } 

然后其他消息逐一繼承這個基類即可,如下所示。

最終會構成下面這個繼承關系圖。 

 

5、消息接口的定義和實現 

 定義好相關的發送對象后,我們就可以定義它的統一發送接口了,如下所示。

  1. /// <summary>  
  2.     /// 企業號消息管理接口定義  
  3.     /// </summary>  
  4.     public interface ICorpMessageApi  
  5.     {          
  6.         /// <summary>  
  7.         /// 發送消息。  
  8.         /// 需要管理員對應用有使用權限,對收件人touser、toparty、totag有查看權限,否則本次調用失敗。  
  9.         /// </summary>  
  10.         /// <param name="accessToken"></param>  
  11.         /// <returns></returns>  
  12.         CommonResult SendMessage(string accessToken, CorpSendBase data);  
  13.     } 

最終,文本等類型的消息會根據接口定義進行實現,實現代碼如下所示。注意,發送過程不需要調用加密類進行加密

  1. /// <summary>  
  2.     /// 企業號消息管理實現類  
  3.     /// </summary>  
  4.     public class CorpMessageApi : ICorpMessageApi  
  5.     {  
  6.         /// <summary>  
  7.         /// 發送消息。  
  8.         /// 需要管理員對應用有使用權限,對收件人touser、toparty、totag有查看權限,否則本次調用失敗。  
  9.         /// </summary>  
  10.         /// <param name="accessToken"></param>  
  11.         /// <returns></returns>  
  12.         public CommonResult SendMessage(string accessToken, CorpSendBase data)  
  13.         {          
  14.             CommonResult result = new CommonResult();  
  15.  
  16.             string urlFormat = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}";  
  17.             var url = string.Format(urlFormat, accessToken);  
  18.             var postData = data.ToJson();  
  19.  
  20.             //數據不用加密發送  
  21.             CorpSendResult sendResult = CorpJsonHelper<CorpSendResult>.ConvertJson(url, postData);  
  22.             if (sendResult != null)  
  23.             {  
  24.                 result.Success = (sendResult.errcode == CorpReturnCode.請求成功);  
  25.                 result.ErrorMessage = string.Format("invaliduser:{0},invalidparty:{1},invalidtag:{2}",  
  26.                     sendResult.invaliduser, sendResult.invalidparty, sendResult.invalidtag);  
  27.             }  
  28.  
  29.             return result;  
  30.         }  
  31.     } 

6、消息的發送操作和實際效果

 定義好相應的發送對象后,我們就可以進行統一的消息發送操作,包括文本、圖片、文件、語音等等類型的消息,注意有些消息是需要上傳到服務器上,然后在根據mediaId進行發送出去的。

發送文本和圖片的操作代碼如下所示。

  1. private void btnSendText_Click(object sender, EventArgs e)  
  2.         {  
  3.             //發送文本內容  
  4.             ICorpMessageApi bll = new CorpMessageApi();  
  5.  
  6.             CorpSendText text = new CorpSendText("API 中文測試(http://www.iqidi.com)");  
  7.             text.touser = "wuhuacong";  
  8.             text.toparty = "4";//部門ID  
  9.             text.totag = "0";  
  10.  
  11.             text.safe = "0";  
  12.             text.agentid = "0";  
  13.  
  14.             CommonResult result = bll.SendMessage(token, text);  
  15.             if (result != null)  
  16.             {  
  17.                 Console.WriteLine("發送消息:{0} {1} {2}", text.text.content, (result.Success ? "成功" : "失敗"), result.ErrorMessage);  
  18.             }  
  19.         }  
  20.         private void btnSendImage_Click(object sender, EventArgs e)  
  21.         {  
  22.             btnUpload_Click(sender, e);  
  23.  
  24.             if (!string.IsNullOrEmpty(image_mediaId))  
  25.             {  
  26.                 //發送圖片內容  
  27.                 ICorpMessageApi bll = new CorpMessageApi();  
  28.  
  29.                 CorpSendImage image = new CorpSendImage(image_mediaId);  
  30.                 CommonResult result = bll.SendMessage(token, image);  
  31.                 if (result != null)  
  32.                 {  
  33.                     Console.WriteLine("發送圖片消息:{0} {1} {2}", image_mediaId, (result.Success ? "成功" : "失敗"), result.ErrorMessage);  
  34.                 }  
  35.             }  
  36.         } 

***在微信企業號上截圖效果如下所示,包括了文本測試、文件測試、圖文測試、語音測試均正常。

 

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

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

2014-09-24 11:32:21

微信企業號開發

2014-09-24 11:11:08

微信企業號開發

2013-11-13 00:37:12

微信微信公號微信公眾賬號

2013-04-08 16:19:40

微信微信公眾平臺圖文消息

2019-11-22 23:02:14

微信更新界面

2024-12-19 10:00:00

Python發送消息編程

2013-04-10 18:29:09

微信公眾平臺接口開發

2013-04-09 23:02:34

微信公眾平臺圖文消息

2013-11-12 23:32:53

微信公號微信公眾賬號

2014-09-25 13:19:35

微信企業號

2013-11-13 00:20:01

微信微信公號微信公眾賬號

2015-08-07 15:39:26

仿微信語音界面源碼

2013-11-13 00:14:16

微信微信公號微信公眾賬號

2021-08-10 13:57:37

微信推送技術

2014-09-28 22:38:21

微信企業號

2020-10-10 07:55:30

微信

2025-03-31 10:49:16

2014-09-25 15:27:28

微信企業號注冊流程

2014-09-24 13:11:34

信企業號

2022-01-11 20:50:12

微信企業微信移動應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费在线观看成人av | 精品久久精品 | 欧美一级片在线播放 | 国产免费一区二区 | 中文字幕精品一区 | 国产一区二区三区 | 成人在线视频免费看 | 精品国产乱码久久久久久果冻传媒 | 在线观看精品 | 欧美不卡一区二区三区 | 日韩免费高清视频 | 青青久久久 | 酒色成人网| 91精品国产91久久久久游泳池 | 亚洲视频免费观看 | 99精品免费久久久久久日本 | 国产99精品| 综合九九| 在线四虎 | 免费成人午夜 | av天天操 | 91网站视频在线观看 | 黄片毛片在线观看 | 欧美日韩国产一区二区三区 | 日韩中文在线视频 | 久久精品一区 | 久久精品国产一区二区电影 | 国产精品视频999 | 天天干天天插 | 免费一区二区 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 伊人影院在线观看 | 国产精品国产成人国产三级 | 精品一区二区三区在线观看 | 国外成人在线视频 | 亚洲免费在线观看av | 狠狠干美女 | 久久久成人精品 | 毛片99| 一区二区三区四区国产精品 | 成人精品一区二区三区中文字幕 |