以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  钉钉表单消息发送  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=152973)

--  作者:lxhmax
--  发布时间:2020/7/27 16:06:00
--  钉钉表单消息发送
老师,请问下面的表单通知要怎么设置?现在这样设置会提示发送成功,可实际上钉钉是没有收到信息的?代码需要怎么调整下?

Dim ur As String = "https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token={0}"
Dim hc As new HttpClient(Cexp(ur,Functions.Execute("ding_access_token")))

Dim jo As New JObject
jo("agent_id") = "838981235"
jo("userid_list") = "manager3212"
jo("msg") = New JObject
jo("msg")("msgtype") = "oa"
jo("msg")("oa") = New JObject
jo("msg")("oa")("head") = New JObject
jo("msg")("oa")("head")("text") = "应用名"
jo("msg")("oa")("body") = New JObject
jo("msg")("oa")("body")("author") = "发送人"

jo("msg")("oa")("body")("title") = "跟进通知"

jo("msg")("oa")("body")("form") = New JObject()
jo("msg")("oa")("body")("form")("key") = "跟进人:"
jo("msg")("oa")("body")("form")("value") = "张三"
jo("msg")("oa")("body")("form") = New JObject()
jo("msg")("oa")("body")("form")("key") = "跟进时间:"
jo("msg")("oa")("body")("form")("value") = Date.Now
jo("msg")("oa")("body")("form") = New JObject()
jo("msg")("oa")("body")("form")("key") = "跟进状态:"
jo("msg")("oa")("body")("form")("value") = "已跟进"


hc.Content = jo.ToString
jo = JObject.Parse(hc.GetData)
If jo("errcode") = "0" Then
    MessageBox.show("消息发送成功!")
Else
    MessageBox.show(jo.ToString)
End If




--  作者:有点蓝
--  发布时间:2020/7/27 16:19:00
--  
这个就不是程序的问题了。建议联系钉钉客服查询一下接口执行情况
--  作者:lxhmax
--  发布时间:2020/7/27 16:42:00
--  
我说错了,这个表单能收到最后一条红色的信息,前面蓝色的信息收不到,就是像被覆盖的那样

jo("msg")("oa")("body")("form") = New JObject()
jo("msg")("oa")("body")("form")("key") = "跟进人:"
jo("msg")("oa")("body")("form")("value") = "张三"
jo("msg")("oa")("body")("form") = New JObject()
jo("msg")("oa")("body")("form")("key") = "跟进时间:"
jo("msg")("oa")("body")("form")("value") = Date.Now
jo("msg")("oa")("body")("form") = New JObject()
jo("msg")("oa")("body")("form")("key") = "跟进状态:"
jo("msg")("oa")("body")("form")("value") = "已跟进"

--  作者:有点蓝
--  发布时间:2020/7/27 17:04:00
--  
同样的变量赋值了3次,当然就是被覆盖了,效果和下面一样

d=1
d=2
d=3

--  作者:lxhmax
--  发布时间:2020/7/27 17:32:00
--  
那这个要怎么改?

钉钉上的样例是这样的

{
     "msgtype": "oa",
     "oa": {
        "message_url": "http://dingtalk.com",
        "head": {
            "bgcolor": "FFBBBBBB",
            "text": "头部标题"
        },
        "body": {
            "title": "正文标题",
            "form": [
                {
                    "key": "姓名:",
                    "value": "张三"
                },
                {
                    "key": "年龄:",
                    "value": "20"
                },
                {
                    "key": "身高:",
                    "value": "1.8米"
                },
                {
                    "key": "体重:",
                    "value": "130斤"
                },
                {
                    "key": "学历:",
                    "value": "本科"
                },
                {
                    "key": "爱好:",
                    "value": "打球、听音乐"
                }
            ],
            "rich": {
                "num": "15.6",
                "unit": "元"
            },
            "content": "大段文本大段文本大段文本大段文本大段文本大段文本大段文本大段文本大段文本大段文本大段文本大段文本",
            "image": "@lADOADmaWMzazQKA",
            "file_count": "3",
            "author": "李四 "
        }
    }
}
[此贴子已经被作者于2020/7/27 17:33:49编辑过]

--  作者:有点蓝
--  发布时间:2020/7/27 17:37:00
--  
数组看示例五:http://www.foxtable.com/mobilehelp/topics/0167.htm