<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      ?



      ?

      首先看下官方文檔,為我們提供了POST請求地址,和幾個必傳參數(shù)的列表以及參數(shù)示例,寫的都挺詳細的。


      無奈提供的SDK請求示例是JAVA的,而我用的是.NET的,所以還是摸了一些坑出來,其實也就是不同平臺的部分方法或者語法不同而已,調(diào)試好一個接口后,后面再調(diào)試其他接口就會快很多了。

      ?調(diào)用淘寶接口,我看到的幾個哥們,用的都是這個URL地址:https://eco.taobao.com/router/rest

      相應(yīng)代碼如下:
      1 /// <summary> 2 /// 工作通知消息(淘寶URL) 3 /// </summary> 4 ///
      <returns></returns> 5 public JsonResult SendWorkMessage() 6 { 7 //
      判斷緩存中是否有access_token,否則重新獲取 8 var access_token = CacheHelper.GetCache("
      access_token"); 9 if (access_token == null) 10 { 11 DingDevelopSDK developSDK
      =new DingDevelopSDK(); 12 access_token =
      developSDK.Get_access_token_by_appkey_and_appsecret(Models.DingDingConfig.appkey,
      Models.DingDingConfig.appsecret);13 } 14 IDingTalkClient client = new
      DefaultDingTalkClient("https://eco.taobao.com/router/rest"); 15
      CorpMessageCorpconversationAsyncsendRequest req =new
      CorpMessageCorpconversationAsyncsendRequest();16 req.Msgtype = "oa"; //
      發(fā)送消息是以oa的形式發(fā)送的,其他的還有text,image等形式 17 req.AgentId =
      Models.DingDingConfig.agentId;18 req.UseridList = "manager1805"; 19
      req.ToAllUser =false; //是否發(fā)給所有人,很重要,為true的時候,一天只能調(diào)用3次該接口 20 req.Msgcontent = "
      {\"message_url\": \"http://dingtalk.com\",\"head\": {\"bgcolor\":
      \"FFBBBBBB\",\"text\": \"頭部標題\"},\"body\": {\"title\": \"測試文本\",\"form\":
      [{\"key\": \"姓名:\",\"value\": \"張三\"},{\"key\": \"愛好:\",\"value\":
      \"打球、聽音樂\"}],\"rich\": {\"num\": \"15.6\",\"unit\": \"元\"},\"content\":
      \"淘寶URL\",\"image\": \"@lADOADmaWMzazQKA\",\"file_count\": \"3\",\"author\":
      \"李四 \"}}"; 21 CorpMessageCorpconversationAsyncsendResponse rsp =
      client.Execute(req, access_token.ToString());//發(fā)送消息 22 string result = rsp.Body;
      23 // DeBugLog.WriteLog(result); 24 return Json(new { Result = true, result },
      JsonRequestBehavior.AllowGet);25 }
      調(diào)用結(jié)果:



      ?

      ?


      接下來是調(diào)用官方文檔里寫的接口:https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token=ACCESS_TOKEN。


      這里的參數(shù)access_token不用寫在url里,方法asyncsend_v2是示例代碼里調(diào)用的,但是在.NET平臺下方法和JAVA有些差異,在試過幾個類和方法之后,我用的方法是asyncsend,后面沒有帶"_v2",

      所以接口地址就是:https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend。

      上代碼:
      1 /// <summary> 2 /// 工作通知消息(釘釘URL) 3 /// </summary> 4 ///
      <returns></returns> 5 public JsonResult SendMessage_ByDingDingURL() 6 { 7
      try { 8 //判斷緩存中是否有access_token,否則重新獲取 9 var access_token =
      CacheHelper.GetCache("access_token"); 10 if (access_token == null) 11 { 12
      DingDevelopSDK developSDK =new DingDevelopSDK(); 13 access_token =
      developSDK.Get_access_token_by_appkey_and_appsecret(Models.DingDingConfig.appkey,
      Models.DingDingConfig.appsecret);14 } 15 //官網(wǎng)POST地址為https://
      oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2,根據(jù)方法的不同,下文的URL采用的是asyncsend而不是asyncsend_v2
      16 IDingTalkClient client = new DefaultDingTalkClient("
      https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend"); 17
      OapiMessageCorpconversationAsyncsendRequest req =new
      OapiMessageCorpconversationAsyncsendRequest();18 req.SetHttpMethod("POST"); 19
      req.ToAllUser =false; 20 req.AgentId = Models.DingDingConfig.agentId; 21
      req.UseridList ="manager1805"; 22 req.Msgtype = "oa"; 23 req.Msgcontent = "
      {\"message_url\": \"http://dingtalk.com\",\"head\": {\"bgcolor\":
      \"FFBBBBBB\",\"text\": \"測試001\"},\"body\": {\"title\": \"測試文本\",\"form\":
      [{\"key\": \"姓名:\",\"value\": \"張三\"},{\"key\": \"愛好:\",\"value\":
      \"打球、聽音樂\"}],\"rich\": {\"num\": \"15.6\",\"unit\": \"元\"},\"content\":
      \"釘釘URL\",\"image\": \"@lADOADmaWMzazQKA\",\"file_count\": \"3\",\"author\":
      \"admin \"}}"; 24 OapiMessageCorpconversationAsyncsendResponse response =
      client.Execute(req, access_token.ToString());25
      DeBugLog.WriteLog(response.Body);26 return Json(new { Result = true },
      JsonRequestBehavior.AllowGet);27 } 28 catch (Exception ex) 29 { 30
      DeBugLog.WriteLog(ex);31 return Json(new { Result = false },
      JsonRequestBehavior.AllowGet);32 } 33 }
      結(jié)果和上面的是一樣的。

      這里獲取ccess_token的方法我就不累述了,我是直接從緩存里獲取的,其他參數(shù)的使用要點,要結(jié)合文檔去使用:

      發(fā)送工作通知消息需要注意以下事項:

      * 同一個微應(yīng)用相同消息的內(nèi)容同一個用戶一天只能接收一次。
      * 同一個微應(yīng)用給同一個用戶發(fā)送消息,企業(yè)內(nèi)部開發(fā)方式一天不得超過500次。
      * 通過設(shè)置to_all_user參數(shù)全員推送消息,一天最多3次。
      * 詳細的限制說明,請參考“工作通知消息的限制
      <https://ding-doc.dingtalk.com/doc#/faquestions/eovtrt#a078ccd3>”。
      * 該接口是異步發(fā)送消息,接口返回成功并不表示用戶一定會收到消息,需要通過“查詢工作通知消息的發(fā)送結(jié)果
      <https://ding-doc.dingtalk.com/doc#a5920210>”接口查詢是否給用戶發(fā)送成功。
      * 消息類型和樣例可參考消息類型 <https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup>文檔。
      ?以上。

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點信息
      問題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          成人免费在线 | 99精品色 | 骚逼逼影院 | 黄色动漫免费观看 | 色色婷婷五月 | 欧美精品一二三 | 肉丝肉足丝袜一区二区三区 | 蜜桃秘 av无码一区二区三区 | 美女被爆艹 | 中文字幕四区 |