Foxtable(狐表)用户栏目专家坐堂 → 公众号主动消息求助


  共有3396人关注过本帖树形打印复制链接

主题:公众号主动消息求助

帅哥哟,离线,有人找我吗?
夜点蚊香
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:611 积分:4690 威望:0 精华:0 注册:2020/4/15 19:53:00
公众号主动消息求助  发帖心情 Post By:2022/3/1 15:01:00 [只看该作者]

订阅号权限如下

图片点击可在新窗口打开查看此主题相关图片如下:1646117920(1).jpg
图片点击可在新窗口打开查看

报错代码如下

图片点击可在新窗口打开查看此主题相关图片如下:1646118008(1).jpg
图片点击可在新窗口打开查看

Dim jo As New JObject
jo("touser") = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Dim str22 As String
str22 = jo("touser")
Dim PR1 As DataRow = DataTables("学员管理_学员信息表").Find("微信号 = '" & str22 & "' ")
Dim str23 As String
str23 =  PR1("姓名")
MessageBox.Show(str23)
jo("msgtype") = "text"
jo("text") =  New JObject
jo("text")("content") = "您好," & str23 & " ,快点去学习."
Dim URL As String = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={0}"
Dim hc As New HttpClient(CExp(URL, Functions.Execute("GetAccessToken")))
hc.Content = jo.ToString()
jo = JObject.Parse(hc.GetData())
If jo("errcode") = "0" Then
    MessageBox.Show("消息发送成功")
Else
    MessageBox.show("消息发送失败,原因:" & vbcrlf  & jo("errmsg").ToString)
End If


[此贴子已经被作者于2022/3/1 15:02:45编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
SbFox
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:74 积分:500 威望:0 精华:0 注册:2021/12/11 14:20:00
  发帖心情 Post By:2022/3/1 15:06:00 [只看该作者]

提示的很明显   你的IP地址没有加入到白名单中   

 回到顶部
帅哥哟,离线,有人找我吗?
夜点蚊香
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:611 积分:4690 威望:0 精华:0 注册:2020/4/15 19:53:00
  发帖心情 Post By:2022/3/1 15:16:00 [只看该作者]

ip 白名单加上了 现在报错如下

图片点击可在新窗口打开查看此主题相关图片如下:1646118898(1).jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107745 积分:548064 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/1 15:36:00 [只看该作者]

获取accesstoken失败,检查函数里appid和appscrect是否正确

 回到顶部
帅哥哟,离线,有人找我吗?
夜点蚊香
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:611 积分:4690 威望:0 精华:0 注册:2020/4/15 19:53:00
  发帖心情 Post By:2022/3/1 16:17:00 [只看该作者]

Dim tr As DataRow = DataTables("系统设置").Find("序号 = '1'")
Static CreateTime As Date '记录最近一次生成access_token的时间
Static AccessTocken As String '记录最近一次生成的access_token
Dim AppId As String= tr("appid") '开发者ID
Dim AppSecret As String = tr("AppSecret") '开发者密匙
Dim tp As TimeSpan = Date.Now - CreateTime
Dim url As String = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" & appid & "&secret=" & AppSecret
If tp.TotalSeconds > 3600 Then
    Dim hc As New HttpClient(CExp(url,AppId,AppSecret))
    Dim ret As String = hc.GetData()
    If ret = "" Then '如果失败,再尝试一次
        hc.GetData()
    End If
    CreateTime = Date.Now()
    Dim jo As JObject = JObject.Parse(ret)
    If jo("errcode") Is Nothing Then
        AccessTocken = jo("access_token")
    Else
        MessageBox.show("获取access_token失败,原因:" & vbcrlf & jo("errmsg").ToString)
    End If
End If
Return AccessTocken

都获取最新的了,还是报错.

图片点击可在新窗口打开查看此主题相关图片如下:1646122585(1).jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
夜点蚊香
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:611 积分:4690 威望:0 精华:0 注册:2020/4/15 19:53:00
搞定了,多谢  发帖心情 Post By:2022/3/1 16:28:00 [只看该作者]

搞定了,多谢

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107745 积分:548064 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/1 16:30:00 [只看该作者]

msgbox(Functions.Execute("GetAccessToken"))显示什么内容?

另外确定开发者ID,开发者密匙填写正确
Dim AppId As String= tr("appid") '开发者ID、
Dim AppSecret As String = tr("AppSecret") 

不能使用A公众号的AccessToken给B公众号发消息的

 回到顶部