C#開發(fā)微信入口網(wǎng)站及應(yīng)用程式-微信企業(yè)號(hào)的訊息發(fā)送(文字、圖片、文件、語音、影片、圖文訊息等)
Feb 18, 2017 am 09:36 AM?我們知道,企業(yè)號(hào)主要是面向企業(yè)需求而生的,因此內(nèi)部訊息的交流顯得非常重要,而且發(fā)送、回覆訊息數(shù)量應(yīng)該很可觀,對於大企業(yè)尤其如此,因此可以結(jié)合企業(yè)號(hào)實(shí)現(xiàn)內(nèi)部訊息的交流。企業(yè)號(hào)具有關(guān)注安全、訊息無限制等特點(diǎn),很適合企業(yè)內(nèi)部的環(huán)境。本文主要介紹如何利用企業(yè)號(hào)實(shí)現(xiàn)文字、圖片、文件、語音、影片、圖文訊息等訊息的傳送操作。
1、企業(yè)號(hào)特點(diǎn)
對於企業(yè)號(hào),有以下一些特點(diǎn):
1)關(guān)注更安全
–只有企業(yè)通訊錄的成員才能關(guān)注企業(yè)號(hào),??分級(jí)管理員、保密消息等各種特性確保企業(yè)內(nèi)部資訊的安全。
企業(yè)可以設(shè)定自行驗(yàn)證追蹤者身份,進(jìn)行二次安全驗(yàn)證,確保企業(yè)資訊使用和傳遞安全。
若員工離職,企業(yè)管理員可在通訊錄中刪除該成員,該成員即自動(dòng)取消關(guān)注企業(yè)號(hào),??同時(shí)微信中的企業(yè)號(hào)歷史記錄也會(huì)被清除。
2)應(yīng)用可設(shè)定
–企業(yè)可自行在企業(yè)號(hào)中可設(shè)定多個(gè)服務(wù)號(hào),可連接不同的企業(yè)應(yīng)用系統(tǒng),只有授權(quán)的企業(yè)成員才能使用對應(yīng)的服務(wù)號(hào)碼。
3)訊息無限制
–發(fā)送訊息無限制,並提供完善的管理介面及微信原生能力,以適應(yīng)企業(yè)複雜、個(gè)人化的應(yīng)用場景。
企業(yè)可以主動(dòng)發(fā)送訊息給員工,訊息量不受限制。
4)使用更便利
–企業(yè)號(hào)在微信中有統(tǒng)一的訊息入口,使用者可以更方便地管理企業(yè)號(hào)訊息。微信通訊錄也可以直接存取企業(yè)號(hào)中的應(yīng)用程式。
?
2、企業(yè)號(hào)的管理介面內(nèi)容
目前企業(yè)號(hào)的內(nèi)容可以用下面的分層圖來展示,分別包含素材管理、被動(dòng)回應(yīng)訊息、通訊錄管理、自訂選單等內(nèi)容,詳細(xì)可以看下面圖示。
?
3、企業(yè)號(hào)訊息和事件的處理
企業(yè)號(hào)和公眾號(hào)一樣,可以分為訊息處理和事件處理,以下是他們兩種類型的處理作業(yè),也就發(fā)送的訊息有文字訊息、圖片訊息、文件訊息、視訊訊息、語音訊息、地理文字訊息、圖文和多媒體訊息等。
事件處理主要是追蹤、取消追蹤事件,以及選單click類型和view類型兩種操作,還有就是地理位置上報(bào)事件等。
兩種類型的處理圖如下。
?
?
4、企業(yè)號(hào)訊息管理
在企業(yè)的管理後臺(tái),和公眾號(hào)一樣,可以看到對應(yīng)資訊交流記錄,包括文字、圖片、地理位置等等,如下圖所示。
?
由於訊息分為幾種類型,包括文字(Text)、圖片(Image)、文件(File)、語音(Voice)、影片(Video)、圖文訊息等(News)、MpNews等。
因此我們需要分別對它們進(jìn)行一定的定義和封裝處理,如下是它們的資訊物件設(shè)計(jì)圖。
?
?
企業(yè)號(hào)發(fā)送訊息的官方定義如下:
企業(yè)可以主動(dòng)發(fā)訊息給員工,訊息量不受限制。
呼叫介面時(shí),使用Https協(xié)定、JSON封包格式,封包不需做加密處理。
目前支援文字、圖片、語音、視訊、檔案、圖文等訊息類型。除了news類型,其它類型的消息可在發(fā)送時(shí)加上保密選項(xiàng),保密消息會(huì)被打上水印,並且只有接收者才能閱讀。
?
我們以傳送的文字訊息為例進(jìn)行說明,它的定義如下所示。
text訊息
{ ???"touser":?"UserID1|UserID2|UserID3", ???"toparty":?"?PartyID1?|?PartyID2?", ???"totag":?"?TagID1?|?TagID2?", ???"msgtype":?"text", ???"agentid":?"1", ???"text":?{ ???????"content":?"Holiday?Request?For?Pony(http://m.miracleart.cn/)" ???}, ???"safe":"0" }
?
參數(shù) | ,多個(gè)接收者以'|'分隔) 。特殊情況:指定為@all,則向關(guān)注該企業(yè)應(yīng)用的全部成員發(fā)送 | |
---|---|---|
否 | PartyID列表,多個(gè)接受者以‘|’分隔。當(dāng)touser為@all時(shí)忽略本參數(shù) | |
否 | TagID列表,多個(gè)接受者以‘|’分隔。當(dāng)touser為@all時(shí)忽略此參數(shù) | |
是 | 訊息類型,此時(shí)固定為:text | |
content | 是 | |
safe | ||
? | ? | |
|
????///?<summary> ????///?企業(yè)號(hào)消息管理接口定義????///?</summary> ????public?interface?ICorpMessageApi ????{???????? ????????///?<summary> ????????///?發(fā)送消息。????????///?需要管理員對應(yīng)用有使用權(quán)限,對收件人touser、toparty、totag有查看權(quán)限,否則本次調(diào)用失敗。????????///?</summary> ????????///?<param name="accessToken"></param> ????????///?<returns></returns> ????????CommonResult?SendMessage(string?accessToken,?CorpSendBase?data); ????}
然後其他消息逐一繼承這個(gè)基類即可,如下所示。
最後會(huì)構(gòu)成下面這個(gè)繼承關(guān)係圖。?
????///?<summary> ????///?企業(yè)號(hào)消息管理實(shí)現(xiàn)類????///?</summary> ????public?class?CorpMessageApi?:?ICorpMessageApi ????{????????///?<summary> ????????///?發(fā)送消息。????????///?需要管理員對應(yīng)用有使用權(quán)限,對收件人touser、toparty、totag有查看權(quán)限,否則本次調(diào)用失敗。????????///?</summary> ????????///?<param name="accessToken"></param> ????????///?<returns></returns> ????????public?CommonResult?SendMessage(string?accessToken,?CorpSendBase?data) ????????{???????? ????????????CommonResult?result?=?new?CommonResult();????????????string?urlFormat?=?"http://m.miracleart.cn/{0}";????????????var?url?=?string.Format(urlFormat,?accessToken);????????????var?postData?=?data.ToJson();????????????//數(shù)據(jù)不用加密發(fā)送 ????????????CorpSendResult?sendResult?=?CorpJsonHelper<CorpSendResult>.ConvertJson(url,?postData);????????????if?(sendResult?!=?null) ????????????{ ????????????????result.Success?=?(sendResult.errcode?==?CorpReturnCode.請求成功); ????????????????result.ErrorMessage?=?string.Format("invaliduser:{0},invalidparty:{1},invalidtag:{2}", ????????????????????sendResult.invaliduser,?sendResult.invalidparty,?sendResult.invalidtag); ????????????}????????????return?result; ????????} ????}
注意,傳送過程
不需要呼叫加密類別來加密
。????????private?void?btnSendText_Click(object?sender,?EventArgs?e) ????????{????????????//發(fā)送文本內(nèi)容 ????????????ICorpMessageApi?bll?=?new?CorpMessageApi(); ????????????CorpSendText?text?=?new?CorpSendText("API?中文測試(http://m.miracleart.cn/)"); ????????????text.touser?=?"wuhuacong"; ????????????text.toparty?=?"4";//部門ID ????????????text.totag?=?"0"; ????????????text.safe?=?"0"; ????????????text.agentid?=?"0"; ????????????CommonResult?result?=?bll.SendMessage(token,?text);????????????if?(result?!=?null) ????????????{ ????????????????Console.WriteLine("發(fā)送消息:{0}?{1}?{2}",?text.text.content,?(result.Success???"成功"?:?"失敗"),?result.ErrorMessage); ????????????} ????????}????????private?void?btnSendImage_Click(object?sender,?EventArgs?e) ????????{ ????????????btnUpload_Click(sender,?e);????????????if?(!string.IsNullOrEmpty(image_mediaId)) ????????????{????????????????//發(fā)送圖片內(nèi)容 ????????????????ICorpMessageApi?bll?=?new?CorpMessageApi(); ????????????????CorpSendImage?image?=?new?CorpSendImage(image_mediaId); ????????????????CommonResult?result?=?bll.SendMessage(token,?image);????????????????if?(result?!=?null) ????????????????{ ????????????????????Console.WriteLine("發(fā)送圖片消息:{0}?{1}?{2}",?image_mediaId,?(result.Success???"成功"?:?"失敗"),?result.ErrorMessage); ????????????????} ????????????} ????????}
6、訊息的發(fā)送操作和實(shí)際效果?定義好相應(yīng)的發(fā)送對象後,我們就可以進(jìn)行統(tǒng)一的訊息發(fā)送操作,包括文字、圖片、文件、語音類型的訊息,注意有些訊息是需要上傳到伺服器上,然後在根據(jù)mediaId進(jìn)行發(fā)送出去的。
發(fā)送文字和圖片的操作代碼如下所示。rrreee
?
?更多C#開發(fā)微信入口網(wǎng)站及應(yīng)用-微信企業(yè)號(hào)的訊息發(fā)送(文字、圖片、文件、語音、影片、圖文訊息等)?相關(guān)文章請關(guān)注PHP中文網(wǎng)!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

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

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

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

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