Foxtable(狐表)用户栏目专家坐堂 → [求助]腾讯云短信接口问题


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

主题:[求助]腾讯云短信接口问题

帅哥哟,离线,有人找我吗?
新动感时代
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:26 积分:319 威望:0 精华:0 注册:2017/3/28 12:58:00
[求助]腾讯云短信接口问题  发帖心情 Post By:2019/12/16 7:37:00 [只看该作者]

我的问题:    
      
        (1).   下面是腾讯官方短信API 接口,签名字符串生成的文档说明:
         
              签名字符串sig字段:根据公式 sha256(appkey=$appkey&random=$random&time=$time&mobile=$mobile)生成。
              此生成公式中有四个参数:(1)appkey( 密匙),(2)random(随机数),(3)time(   时间戳 ),(4)mobile( 手机号)
                                                      
        (2)  下面是我用foxtable生成的短信API接口 签名字符串:
                   Dim sj As long        '生成一个随机数
                          sj = Rand.Next(1000000000,2000000000)
                  Dim dt1 As  Date= #01/01/1970  08:03:25#  '生成一个时间戳
                  Dim dt2 As  Date= Date.now()
                  Dim sp As Integer =Math.Round(( dt2-dt1 ).TotalSeconds)
                                                      Dim appkey As String                    ( 密匙)
                                                      Dim random As Long                     (随机数)
                                                      Dim time As Integer                    (   时间戳 )
                                                      Dim moblile As String                     ( 手机号)
                                            Dim aryTmp() As String = {appkey,random,time,moblile}             '命名包含四个参数的数组
                                            Array.Sort(aryTmp)                '数组排序
                                            Dim sig As String = String.Join("", aryTmp)                 ’将数组生成字符串
              sig = Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sig, "SHA256").ToLower()          'sha256算法加密
                  
问题:  代入参数值后,sig 提交腾讯短信API接口审核不通过,提示sig格式不对。
            请求老师给指点一下。我是刚入foxtable的老白(年龄55岁),这问题困扰 几天了,劳驾版主老师帮一下忙。谢谢!   


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/16 9:01:00 [只看该作者]

请不要发重复的问题!!

腾讯官方短信api开发文档的链接发上来看看

 回到顶部
帅哥哟,离线,有人找我吗?
新动感时代
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:26 积分:319 威望:0 精华:0 注册:2017/3/28 12:58:00
[求助]腾讯短信接口的连接  发帖心情 Post By:2019/12/16 9:32:00 [只看该作者]

老师,你好!下面是我用到的腾讯短信接口的连接
https://cloud.tencent.com/document/product/382/5976

 回到顶部
帅哥哟,离线,有人找我吗?
新动感时代
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:26 积分:319 威望:0 精华:0 注册:2017/3/28 12:58:00
[求助]腾讯短信接口问题  发帖心情 Post By:2019/12/16 10:03:00 [只看该作者]

Dim sj As Integer '定义生成一个随机数
                 sj = Rand.Next(1000000000,2000000000)
        Dim hc As New HttpClient(" https://yun.tim.qq.com/v5/tlssmssvr/sendsms?sdkappid=1400294998&random=sj ") '请求短信接口地址
              Dim dt1 As  Date= #01/01/1970  08:03:25# '定义生成一个时间戳
              Dim dt2 As  Date= Date.now()
              Dim sp As Integer =Math.Round(( dt2-dt1 ).TotalSeconds)
                            
                                   Dim appkey As String="26ccd48b4fc028fce1e4ef0b7723bdcd"  '密匙参数
                                   Dim random As Integer= sj  '随机数参数
                                   Dim time As Integer=sp  '时间戳参数
                                   Dim moblile As String ="13589956068" '手机号参数
                                            Dim aryTmp() As String = {appkey,random,time,moblile} '定义包含上面四个参数的数组
                                               Array.Sort(aryTmp)  '数组排序
                                            Dim sig As String = String.Join("", aryTmp)  '数组转为字符串
                                                sig = Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sig, "SHA256")     '    sha256算法                                         
                                
                                  Dim params As  JArray   '接口参数定义
                                  Dim sign As String 
                                  Dim nationcode As String
                                  Dim tel As  JObject
                                  Dim tpl_id As Integer          
         
           Dim jo As New JObject  '定义对象
                        Dim ja  As New JArray
                ja.Add("123456") '定义数组 
            jo("params")= ja
            jo("sig")=sig
            jo("sign")="新动感"
             Dim jo1 As New JObject '定义字对象
                 jo1("mobile")="13589956068"
                 jo1("nationcode")="86" ''代入注册的参数数值
            jo("tel")=jo1
            jo("time")=sp '代入生成的时间戳数值
            jo("tpl_id")=497632 '代入注册的参数数值
           hc.content=jo.ToString()
                 Dim ret As String = hc.getData()
                    If hc.rCookies.ContainsKey("error") Then
                              MessageBox.Show(hc.rCookies("error"), "提示", MessageBoxButtons.OK ,MessageBoxIcon.Warning)
                                Else
                       MessageBox.Show( ret)
                 End If

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/16 10:22:00 [只看该作者]

把附件的代码放到全局代码中
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:smssenderutil.txt


然后参考:
Dim sj As Long'定义生成一个随机数
sj = SmsSenderUtil.getRandom()
Dim hc As New HttpClient(" https://yun.tim.qq.com/v5/tlssmssvr/sendsms?sdkappid=1400294998&random= " & sj) '请求短信接口地址
hc.ContentType = "application/json"
Dim appkey As String="26ccd48b4fc028fce1e4ef0b7723bdcd"  '密匙参数
Dim random As Long= sj  '随机数参数
Dim time As Long=SmsSenderUtil.getCurrentTime()  '时间戳参数
Dim moblile As String ="13589956068" '手机号参数
Dim sig As String =  SmsSenderUtil.calculateSignature(appkey , random, time , moblile )    '    sha256算法

Dim params As  JArray   '接口参数定义
Dim sign As String
Dim nationcode As String
Dim tel As  JObject
Dim tpl_id As Integer

Dim jo As New JObject  '定义对象
Dim ja  As New JArray
ja.Add("123456") '定义数组
jo("params")= ja
jo("sig")=sig
jo("sign")="新动感"
Dim jo1 As New JObject '定义字对象
jo1("mobile")="13589956068"
jo1("nationcode")="86" ''代入注册的参数数值
jo("tel")=jo1
jo("time")=sp '代入生成的时间戳数值
jo("tpl_id")=497632 '代入注册的参数数值
hc.content=jo.ToString()
Dim ret As String = hc.getData()
If hc.rCookies.ContainsKey("error") Then
    MessageBox.Show(hc.rCookies("error"), "提示", MessageBoxButtons.OK ,MessageBoxIcon.Warning)
Else
    MessageBox.Show( ret)
End If
[此贴子已经被作者于2019/12/16 10:23:11编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/16 10:24:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
新动感时代
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:26 积分:319 威望:0 精华:0 注册:2017/3/28 12:58:00
  发帖心情 Post By:2019/12/16 23:44:00 [只看该作者]

问题解决了,谢谢版主老师

 回到顶部