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

微信企業號的菜單管理

開發 后端
前面幾篇陸續介紹了很多微信企業號的相關操作,企業號和公眾號一樣都可以自定義菜單,因此他們也可以通過API進行菜單的創建、獲取列表、刪除的操作,因此本篇繼續探討這個主體,介紹企業號的菜單管理操作。

前面幾篇陸續介紹了很多微信企業號的相關操作,企業號和公眾號一樣都可以自定義菜單,因此他們也可以通過API進行菜單的創建、獲取列表、刪除的操作,因此本篇繼續探討這個主體,介紹企業號的菜單管理操作。

菜單在很多情況下,能夠給我們提供一個快速入口,也可以用來獲取用戶信息的主要入口,通過OAuth2驗證接口,以及自定義的重定向菜單,我們就可以獲取對應的用戶ID,然后進一步獲取到用戶的相關數據,可以顯示給客戶。

1、菜單的總體介紹

菜單的事件處理如下所示,包括了單擊和跳轉兩個操作,未來企業號可能會增加一些和公眾號一樣的掃碼操作,拍照操作等功能的,目前只有兩個。

官方的菜單定義接口包含了下面三種操作,菜單創建、列表獲取和菜單刪除,這點和公眾號操作幾乎一樣了。

2、菜單的實體類定義和接口定義處理

我們定義菜單,包括定義它的一些屬性,包含有name, type, key,url,以及一個指向自身引用的子菜單引用,因此菜單就可以循環構造多個層次,雖然嚴格意義上來講,企業號的菜單和公眾號菜單一樣,一級三個,二級最多五個,而且沒有三級菜單了。

實體類的UML圖示如下所示。

菜單管理的創建操作,官方定義如下所示。

  • 請求說明

Https請求方式: POST

https://qyapi.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN&agentid=1

請求包如下:

{
   "button":[
       {	
           "type":"click",
           "name":"今日歌曲",
           "key":"V1001_TODAY_MUSIC"
       },
       {
           "name":"菜單",
           "sub_button":[
               {
                   "type":"view",
                   "name":"搜索",
                   "url":"http://www.soso.com/"
               },
               {
                   "type":"click",
                   "name":"贊一下我們",
                   "key":"V1001_GOOD"
               }
           ]
      }
   ]
}
  • 參數說明

參數 必須 說明
access_token 調用接口憑證
agentid 企業應用的id,整型??稍趹玫脑O置頁面查看
button 一級菜單數組,個數應為1~3個
sub_button 二級菜單數組,個數應為1~5個
type 菜單的響應動作類型,目前有click、view兩種類型
name 菜單標題,不超過16個字節,子菜單不超過40個字節
key click類型必須 菜單KEY值,用于消息接口推送,不超過128字節
url view類型必須 網頁鏈接,員工點擊菜單可打開鏈接,不超過256字節

  • 權限說明

管理員須擁有應用的管理權限,并且應用必須設置在回調模式。

返回結果

{
   "errcode":0,
   "errmsg":"ok"
}

根據上面官方的定義語義,我們菜單管理的C#管理接口定義如下所示。

  1. /// <summary>  
  2.     /// 企業號菜單管理接口定義  
  3.     /// </summary>  
  4.     public interface ICorpMenuApi  
  5.     {  
  6.         /// <summary>  
  7.         /// 獲取菜單數據  
  8.         /// </summary>  
  9.         /// <param name="accessToken">調用接口憑證</param>  
  10.         /// <returns></returns>  
  11.         MenuListJson GetMenu(string accessToken, string agentid);  
  12.  
  13.         /// <summary>  
  14.         /// 創建菜單  
  15.         /// </summary>  
  16.         /// <param name="accessToken">調用接口憑證</param>  
  17.         /// <param name="menuJson">菜單對象</param>  
  18.         /// <returns></returns>  
  19.         CommonResult CreateMenu(string accessToken, MenuListJson menuJson, string agentid);  
  20.  
  21.         /// <summary>  
  22.         /// 刪除菜單  
  23.         /// </summary>  
  24.         /// <param name="accessToken">調用接口憑證</param>  
  25.         /// <returns></returns>  
  26.         CommonResult DeleteMenu(string accessToken, string agentid);  
  27.     } 

我們以創建菜單的實現為例來介紹微信企業號菜單的操作,其他的操作類似處理,都是返回一個公共的消息類,方便處理和讀取,代碼如下所示。

  1. /// <summary>  
  2.         /// 創建菜單  
  3.         /// </summary>  
  4.         /// <param name="accessToken">調用接口憑證</param>  
  5.         /// <param name="menuJson">菜單對象</param>  
  6.         /// <returns></returns>  
  7.         public CommonResult CreateMenu(string accessToken, MenuListJson menuJson, string agentid)  
  8.         {  
  9.             var url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/menu/create?access_token={0}&agentid={1}", accessToken, agentid);  
  10.             string postData = menuJson.ToJson();  
  11.  
  12.             return Helper.GetCorpExecuteResult(url, postData);  
  13.         } 

3、企業號菜單管理接口的調用和處理效果

調用的代碼和效果圖如下所示。

  1. private void btnMenuCreate_Click(object sender, EventArgs e)  
  2.         {  
  3.             MenuJson productInfo = new MenuJson("產品介紹"new MenuJson[] {   
  4.                 new MenuJson("軟件產品介紹", ButtonType.click, "event-software")  
  5.                 , new MenuJson("框架源碼產品", ButtonType.click, "event-source")  
  6.                 , new MenuJson("軟件定制開發", ButtonType.click, "event-develop")  
  7.             });  
  8.  
  9.             MenuJson frameworkInfo = new MenuJson("框架產品"new MenuJson[] {   
  10.                 new MenuJson("Win開發框架", ButtonType.click, "win"),  
  11.                 new MenuJson("WCF開發框架", ButtonType.click, "wcf"),  
  12.                 new MenuJson("混合式框架", ButtonType.click, "mix"),   
  13.                 new MenuJson("Web開發框架", ButtonType.click, "web")  
  14.                 ,new MenuJson("代碼生成工具", ButtonType.click, "database2sharp")  
  15.             });  
  16.  
  17.             MenuJson relatedInfo = new MenuJson("相關鏈接"new MenuJson[] {   
  18.                 new MenuJson("公司介紹", ButtonType.click, "event_company"),  
  19.                 new MenuJson("官方網站", ButtonType.view, "http://www.iqidi.com"),  
  20.                 new MenuJson("聯系我們", ButtonType.click, "event_contact"),  
  21.                 new MenuJson("應答系統", ButtonType.click, "set-1"),      
  22.                 new MenuJson("發郵件", ButtonType.view, "http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=S31yfX15fn8LOjplKCQm")  
  23.             });  
  24.  
  25.             MenuListJson menuJson = new MenuListJson();  
  26.             menuJson.button.AddRange(new MenuJson[] { productInfo, frameworkInfo, relatedInfo });  
  27.  
  28.             //Console.WriteLine(menuJson.ToJson());  
  29.  
  30.             if (MessageUtil.ShowYesNoAndWarning("您確認要創建菜單嗎") == System.Windows.Forms.DialogResult.Yes)  
  31.             {  
  32.                 ICorpMenuApi bll = new CorpMenuApi();   
  33.                 CommonResult result = bll.CreateMenu(token, menuJson, agentid);  
  34.                 Console.WriteLine("創建菜單:" + (result.Success ? "成功" : "失敗:" + result.ErrorMessage));  
  35.             }  
  36.         }  
  37.  
  38.         private void btnMenuGet_Click(object sender, EventArgs e)  
  39.         {  
  40.             ICorpMenuApi bll = new CorpMenuApi();  
  41.             MenuListJson menu = bll.GetMenu(token, agentid);  
  42.             if (menu != null)  
  43.             {  
  44.                 Console.WriteLine(menu.ToJson());  
  45.             }  
  46.         } 

調用代碼的測試輸出如下所示。

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

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

2014-09-24 13:11:34

信企業號

2014-09-25 15:27:28

微信企業號注冊流程

2014-09-24 11:45:15

微信企業號開發

2014-10-21 15:42:30

微信企業號企業移動平臺

2014-09-28 22:26:11

微信企業號

2014-09-28 22:30:13

微信企業號

2014-09-28 22:22:25

微信企業號

2014-09-25 13:40:52

微信企業號圖解

2014-09-25 15:51:07

微信企業號認證審核

2014-09-25 15:48:51

微信企業號申請認證

2014-09-24 10:29:14

微信企業號開發

2014-09-23 16:37:39

微信企業號移動應用入口

2014-09-24 11:04:31

微信企業號開發

2014-09-25 14:19:00

微信企業號案例

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

微信企業號
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久免费看 | av网站免费在线观看 | 青青草原综合久久大伊人精品 | 国产真实精品久久二三区 | 中文字幕精品一区二区三区精品 | 久久久久九九九女人毛片 | 欧美三级成人理伦 | 久久免费精品 | 亚州成人 | 国产91丝袜在线播放 | 国产一区二区在线免费视频 | 精品国产青草久久久久96 | 久久精品久久精品久久精品 | 成人三级视频 | 久久精品国产一区二区三区不卡 | 日韩成人免费视频 | 久久久久久亚洲精品 | 国产精品成人一区二区三区吃奶 | 国产日韩欧美中文字幕 | 日一区二区 | 欧美精品一区二区在线观看 | 欧美日韩在线一区二区三区 | 中文字幕动漫成人 | 中文字幕1区2区 | 国产精品国产精品国产专区不卡 | 国色天香成人网 | 欧美成人精品激情在线观看 | 国产三区精品 | 国产高清在线 | jizz在线免费观看 | 在线日韩av电影 | 欧美精品导航 | 国产成人精品免高潮在线观看 | 亚洲成人精品在线 | 日韩av.com| 欧美精品网 | 无码一区二区三区视频 | 欧美亚洲国产日韩 | 免费观看黄 | 北条麻妃视频在线观看 | 亚洲成av人影片在线观看 |