公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

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

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

admin
2014年12月2日 0:52 本文熱度 5550
我們知道,企業(yè)號主要是面向企業(yè)需求而生的,因此內(nèi)部消息的交流顯得非常重要,而且發(fā)送、回復(fù)消息數(shù)量應(yīng)該很可觀,對于大企業(yè)尤其如此,因此可以結(jié)合企業(yè)號實現(xiàn)內(nèi)部消息的交流。企業(yè)號具有關(guān)注安全、消息無限制等特點,很適合企業(yè)內(nèi)部的環(huán)境。本文主要介紹如何利用企業(yè)號實現(xiàn)文本、圖片、文件、語音、視頻、圖文消息等消息的發(fā)送操作。

1、企業(yè)號特點


對于企業(yè)號,有以下一些特點:


1)關(guān)注更安全


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


企業(yè)可以設(shè)置自行驗證關(guān)注者身份,進行二次安全驗證,保證企業(yè)信息使用和傳遞安全。


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


2)應(yīng)用可配置


–企業(yè)可自行在企業(yè)號中可配置多個服務(wù)號,可以連接不同的企業(yè)應(yīng)用系統(tǒng),只有授權(quán)的企業(yè)成員才能使用相應(yīng)的服務(wù)號。


3)消息無限制


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


企業(yè)可以主動發(fā)消息給員工,消息量不受限制


4)使用更便捷


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


 


2、企業(yè)號的管理接口內(nèi)容


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



 


3、企業(yè)號消息和事件的處理


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


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


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


 


 


4、企業(yè)號消息管理


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


 


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


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


 


 


企業(yè)號發(fā)送消息的官方定義如下:


企業(yè)可以主動發(fā)消息給員工,消息量不受限制


調(diào)用接口時,使用Https協(xié)議、JSON數(shù)據(jù)包格式,數(shù)據(jù)包不需做加密處理


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


 


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



  • 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"
}

 



































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


 


 


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


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

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



復(fù)制代碼
    /// <summary>
/// 企業(yè)號發(fā)送消息的基礎(chǔ)消息內(nèi)容
/// </summary>
public class CorpSendBase
{
/// <summary>
/// UserID列表(消息接收者,多個接收者用‘|’分隔)。特殊情況:指定為@all,則向關(guān)注該企業(yè)應(yīng)用的全部成員發(fā)送
/// </summary>
public string touser { get; set; }
/// <summary>
/// PartyID列表,多個接受者用‘|’分隔。當touser為@all時忽略本參數(shù)
/// </summary>
public string toparty { get; set; }
/// <summary>
/// TagID列表,多個接受者用‘|’分隔。當touser為@all時忽略本參數(shù)
/// </summary>
public string totag { get; set; }
/// <summary>
/// 消息類型
/// </summary>
public string msgtype { get; set; }
/// <summary>
/// 企業(yè)應(yīng)用的id,整型。可在應(yīng)用的設(shè)置頁面查看
/// </summary>
public string agentid { get; set; }
/// <summary>
/// 表示是否是保密消息,0表示否,1表示是,默認0
/// </summary>
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public string safe { get; set; }
}

復(fù)制代碼

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



最終會構(gòu)成下面這個繼承關(guān)系圖。 


 


5、消息接口的定義和實現(xiàn) 


 定義好相關(guān)的發(fā)送對象后,我們就可以定義它的統(tǒng)一發(fā)送接口了,如下所示。



復(fù)制代碼
    /// <summary>
/// 企業(yè)號消息管理接口定義
/// </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);
}

復(fù)制代碼

最終,文本等類型的消息會根據(jù)接口定義進行實現(xiàn),實現(xiàn)代碼如下所示。注意,發(fā)送過程不需要調(diào)用加密類進行加密



復(fù)制代碼
    /// <summary>
/// 企業(yè)號消息管理實現(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 = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={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;
}
}

復(fù)制代碼

6、消息的發(fā)送操作和實際效果


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


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



復(fù)制代碼
        private void btnSendText_Click(object sender, EventArgs e)
{
//發(fā)送文本內(nèi)容
ICorpMessageApi bll = new CorpMessageApi();
CorpSendText text
= new CorpSendText("API 中文測試(http://www.iqidi.com)");
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);
}
}
}

復(fù)制代碼

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


 


 


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


C#開發(fā)微信門戶及應(yīng)用(20)-微信企業(yè)號的菜單管理


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


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


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


C#開發(fā)微信門戶及應(yīng)用(16)-微信企業(yè)號的配置和使用


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



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





 

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

主站蜘蛛池模板: 国产99精品| 69久久夜色精品国产69乱 | 国产黄频在线观看高清免费 | 国产午夜精品久久久久婷看片 | 国产色又爽视频免费播放 | av成人免费在线播放 | 国产亚洲欧美日韩综合一区二区 | 国产精品国产三级国产无码 | 丰满风流护士长bda片 | www夜插内射视频网站 | 国产精品精华液网站 | 成人国产在线欧美精品 | 国产一区二区激情戏 | 国产欧美日本韩高清视频一区二区 | 国产丰满人午夜福利 | 精品国产一区二区三区四区vr | 国产福利小视频高清在线观看 | av无码小缝喷白 | 国产午夜手机精彩视频 | 国产一区二区精品 | 爆乳熟妇一区二区三区 | 99久久精品国产国产毛片 | 国产原创在线亚洲黄色大片高 | 黑人巨大精品欧美一区二区o | 福利视频综合一区二区三区四区 | 加勒比hezyo黑人专区 | 精品国产aⅴ一区二区三区4区 | 国产精品三级视频 | 国产色婷婷精品综合在线手机播放 | 加勒比系中文字幕无码 | 成av人片在线观看不卡 | 国产午夜免费看黄片 | 国产av一区二区三区水牛 | 成人精品一区二区不卡视频 | 国产美女视频国产视视频 | 黄色三级视频在线播放 | 成人亚洲免费在线观看 | 精品国产人妻一区二区三区久久 | 国产成年网站v片在线观看 国产成年无码aⅴ片在线观看 | 国产午夜福利在线视频导航 | 潮喷好爽在线观看视频 |