以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 微信模版消息发送失败 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189617)
|
-- 作者:ycs5801
-- 发布时间:2023/12/12 10:38:00
-- 微信模版消息发送失败
把代码复制到命令窗口执行,错误信息如图。
代码如下:
Dim url As String = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}" Dim hc As New HttpClient(CExp(url, Functions.Execute("GetAccessToken"))) Dim jo As New JObject Dim ja As New JArray jo("touser") = "xxx" jo("template_id") = "xxx" \'模板ID jo("url") = "http://cbjg.700.xyz" jo("data") = New JObject() jo("data")("short_thing4") = New JObject() jo("data")("short_thing4")("value") = "Foxtable" jo("data")("short_thing4")("color") = "#173177"
hc.content = jo.Tostring() jo = JObject.Parse(hc.getdata) If jo("errcode") = "0" Then MessageBox.show("模版消息发送成功!") Else Messagebox.Show(jo.ToString) End If 此主题相关图片如下:img_9490.png
|
-- 作者:有点蓝
-- 发布时间:2023/12/12 10:48:00
--
提示AccessToken有问题,没有获取到,或者过期了。1、检查一下appID和appsecret是不是填错了。 2、检查执行代码的电脑外网IP是不是没有添加到公众号白名单
|
-- 作者:ycs5801
-- 发布时间:2023/12/13 21:59:00
-- 这个
又出现这个错误 此主题相关图片如下:img_9490.png
[此贴子已经被作者于2023/12/13 22:13:29编辑过]
|
-- 作者:ycs5801
-- 发布时间:2023/12/13 22:21:00
--
暂时没问题了
|
-- 作者:ycs5801
-- 发布时间:2023/12/13 23:03:00
--
发送模版消息中这段:
Dim url As String = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}" Dim hc As New HttpClient(CExp(url, Functions.Execute("GetAccessToken"))) Dim jo As New JObject Dim ja As New JArray jo("touser") = "ofjtFwBSZ5cNqTKLSKx2TNEAxfBI" jo("template_id") = "WPpt3ki1Haq-ERpQvWXAgT7IZbfO07mbKtjnRt1Kiek" \'模板ID jo("url") = http://www.foxtable.com
如果一次想给多个用户发送,需要怎么改?
|
-- 作者:有点蓝
-- 发布时间:2023/12/14 8:57:00
--
一次只能给一个用户发送,遍历所有用户名称发送
比如 Dim url As String = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}" for each s as string in {"openid1","openid2"} Dim hc As New HttpClient(CExp(url, Functions.Execute("GetAccessToken"))) Dim jo As New JObject Dim ja As New JArray jo("touser") = s jo("template_id") = "WPpt3ki1Haq-ERpQvWXAgT7IZbfO07mbKtjnRt1Kiek" \'模板ID jo("url") = http://www.foxtable.com
|
-- 作者:ycs5801
-- 发布时间:2023/12/14 18:41:00
--
If dr2("openid") <> "" Then \'推送公众号 messagebox.Show("2") Dim url As String = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}" Dim hc As New HttpClient(CExp(url, Functions.Execute("GetAccessToken"))) Dim jo As New JObject Dim ja As New JArray messagebox.Show(dr2("openid")) jo("touser") = dr2("openid") messagebox.Show("111") jo("template_id") = "k16daqo2JIEhQXUOufSPDzYjguPr08RCZCzoR4" \'模板ID messagebox.Show("22")
这句为什么总出错呢?
|
-- 作者:有点蓝
-- 发布时间:2023/12/14 20:05:00
--
类型不匹配,改为 jo("touser") = cstr(dr2("openid"))
|
-- 作者:ycs5801
-- 发布时间:2023/12/15 19:29:00
--
dr2("openid")这个值本身不是字符串吗?为什么还需要转换一次?
|
-- 作者:ycs5801
-- 发布时间:2023/12/15 20:25:00
--
\'以下发送关员公众号推送 messagebox.Show("1") If dr2("openid") <> "" Then \'推送公众号 messagebox.Show("2") Dim url As String = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}" Dim hc As New HttpClient(CExp(url, Functions.Execute("GetAccessToken"))) Dim jo As New JObject Dim ja As New JArray messagebox.Show(dr2("openid")) jo("touser") = cstr(dr2("openid")) messagebox.Show("111") jo("template_id") = "k16daqo2JIEhQXUOuPr08RCZCzoR4" \'模板ID messagebox.Show("22") jo("url") = "http://cbjg.700.xyz" jo("data") = New JObject() messagebox.Show("33") jo("data")("thing2") = New JObject() jo("data")("thing2")("value") = cstr(dr("船舶代理")) & cstr(dr("用户姓名")) & "已申报船名:" & cstr(dr("中文船名")) & ",请按要求进行后续工作。" jo("data")("thing2")("color") = "#173177" jo("data")("time4") = New JObject() jo("data")("time4")("value") = Date.Today() jo("data")("time4")("color") = "#173177" messagebox.Show("44") hc.content = jo.Tostring() jo = JObject.Parse(hc.getdata) messagebox.Show("3") End If
设置的这些mssage都正常显示了,但是微信公众号 没有推送信息,怎么回事?
|