Foxtable(狐表)用户栏目专家坐堂 → [求助]我又回来问这个接口问题了


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

主题:[求助]我又回来问这个接口问题了

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


加好友 发短信
等级:六尾狐 帖子:1490 积分:10607 威望:0 精华:0 注册:2018/10/16 11:42:00
[求助]我又回来问这个接口问题了  发帖心情 Post By:2019/11/9 12:27:00 [只看该作者]

Dim 网址 As String="http://www.foxtable.com/bbs/?code=84b20aab348e4a73a4f57d30554d8e01711b9017&state=1212"
Dim code() As String = 网址 .split("=")
'Output.Show(code(1) )
Dim ID As String="7dd1dd0e66874d4387336f5689afbabf"
Dim secret As String="4571a199849bde9eede72f26c1f8bd2030e9db2c"
Dim hcat As new HttpClient("http://open-api.pinduoduo.com/oauth/token")
hcat.C
Dim jo As New JObject
jo("grant_type") = "authorization_code"
jo("code") = code(1).Replace("&state","")
jo("client_id" )= ID
jo("client_secret")=secret 
hcat.Content = jo.tostring
'output.Show(hcat.GetData)
Dim jo1 As JObject = JObject.Parse(hcat.GetData)
If jo1("error_response") IsNot Nothing Then
    Output.Show(jo1("error_response")("error_msg").Tostring) '错误
End If
If jo1("access_token") IsNot Nothing Then
    Output.Show(jo1("access_token").Tostring)  'access_token获取
Dim token As String = jo1("access_token").Tostring
Dim _Type As String="JSON"
Dim timestamp As String = CInt((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000)
Dim 拼接 As String= secret & "access_token" & token & "client_id" & ID & "data_type" & _Type & "order_status1page1page_size10timestamp" & timestamp & "typepdd.order.number.list.get" & secret 
Output.Show ( 拼接 )
Dim MD5结果 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(拼接 , "MD5")
Output.Show ( MD5结果 )
Dim access_token As String = jo1("access_token").Tostring
Dim 接口名称 As String = "pdd.order.number.List.increment.get"
Dim hc订单 As new HttpClient("https://gw-api.pinduoduo.com/api/router")
hc订单 .C '
hc订单.FormData.Add("refund_status", "1")
hc订单 .FormData.Add("type","pdd.order.number.list.get")
hc订单 .FormData.Add("client_id",ID)
hc订单 .FormData.Add("access_token",token )
hc订单 .FormData.Add("timestamp" , timestamp )
hc订单 .FormData.Add("data_type","JSON")
hc订单 .FormData.Add("sign",MD5结果 )
hc订单 .FormData.Add("is_lucky_flag","0")
hc订单 .FormData.Add("order_status","1")
hc订单.FormData.Add("start_updated_at","1571187628")
hc订单.FormData.Add("end_updated_at","1571189427")
hc订单 .FormData.Add("page","1")
hc订单 .FormData.Add("page_size","10")
hc订单 .FormData.Add("trade_type","0")
hc订单 .FormData.Add("use_has_next","true")
output.Show(hc订单.GetData)
End If


打印结果
935194951cc9476195da1c7877cc335f8eb27ef5
4571a199849bde9eede72f26c1f8bd2030e9db2caccess_token935194951cc9476195da1c7877cc335f8eb27ef5client_id7dd1dd0e66874d4387336f5689afbabfdata_typeJSONorder_status1page1page_size10timestamp1573273388typepdd.order.number.list.get4571a199849bde9eede72f26c1f8bd2030e9db2c
D1C8E4C97CE3C84783937698C8EF5AE7
{"error_response":{"error_msg":"签名验证失败","sub_msg":"签名验证失败","sub_code":"20004","error_code":20004,"request_id":"15732733899372105"}}
哪里有错?


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


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

试试,其它看不出什么问题

Dim MD5结果 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(拼接 , "MD5").toupper

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


加好友 发短信
等级:六尾狐 帖子:1490 积分:10607 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/11/9 23:05:00 [只看该作者]

还是一样

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


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

找他们要.net的实例

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


加好友 发短信
等级:六尾狐 帖子:1490 积分:10607 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/11/13 11:57:00 [只看该作者]

这个行不行?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:pdd.rar


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


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

不是完整的项目,缺少一大堆东西,没有用

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


加好友 发短信
等级:六尾狐 帖子:1490 积分:10607 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/11/23 14:16:00 [只看该作者]

我看下这段代码文件行不行?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:拼多多api.net版.zip


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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/23 14:54:00 [只看该作者]

一样不完整,不过可以看到签名加密用法,和之前同样的用法,把:GetSignContent、ConvertDateTimeToInt、MD5这3个函数转换为vb代码

剩下的应该和这个2楼用法差不多:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=142831&skin=0

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


加好友 发短信
等级:六尾狐 帖子:1490 积分:10607 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/11/23 18:01:00 [只看该作者]

我把这段转码


        private string GetSignContent(IDictionary<string, string> parameters)
        {
            // 第一步:把字典按Key的字母顺序排序
            IDictionary<string, string> sortedParams = new SortedDictionary<string, string>(parameters);
            IEnumerator<KeyValuePair<string, string>> dem = sortedParams.GetEnumerator();

            // 第二步:把所有参数名和参数值串在一起
            StringBuilder query = new StringBuilder("");
            while (dem.MoveNext())
            {
                string key = dem.Current.Key;
                string value = dem.Current.Value;
                if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
                {
                    query.Append(key).Append("").Append(value).Append("");
                }
            }
            //string content = query.ToString().Substring(0, query.Length - 1);
            return query.ToString();
        }


        private string ConvertDateTimeToInt(System.DateTime time)
        {
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));
            long t = (time.Ticks - startTime.Ticks) / 10000000;   //除10000调整为13位      
            return t.ToString();
        }
        private string MD5(string inputText)
        {
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] fromData = System.Text.Encoding.UTF8.GetBytes(inputText);
            byte[] targetData = md5.ComputeHash(fromData);
            string byte2String = null;

            for (int i = 0; i < targetData.Length; i++)
            {
                byte2String += targetData[i].ToString("x2");
            }

            return byte2String;
        }


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


加好友 发短信
等级:六尾狐 帖子:1490 积分:10607 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/11/23 18:07:00 [只看该作者]

转码后是这样的,红色区域出错,该怎么改

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20191123180417.png
图片点击可在新窗口打开查看


Class SurroundingClass
     Public shared Function GetSignContent(ByVal parameters As IDictionary(Of String, String)) As String
        Dim sortedParams As IDictionary(Of String, String) = New SortedDictionary(Of String, String)(parameters)
        Dim dem As IEnumerator(Of KeyValuePair(Of String, String)) = sortedParams.GetEnumerator()
        Dim query As StringBuilder = New StringBuilder("")

        While dem.MoveNext()
            Dim key As String = dem.Current.Key
            Dim value As String = dem.Current.Value

            If Not String.IsNullOrEmpty(key) AndAlso Not String.IsNullOrEmpty(value) Then
                query.Append(key).Append("").Append(value).Append("")
            End If
        End While

        Return query.ToString()
    End Function

     Public shared Function ConvertDateTimeToInt(ByVal time As System.DateTime) As String
        Dim startTime As System.DateTime = TimeZone.CurrentTimeZone.ToLocalTime(New System.DateTime(1970, 1, 1, 0, 0, 0, 0))
        Dim t As Long = (time.Ticks - startTime.Ticks) / 10000000
        Return t.ToString()
    End Function

     Public shared Function MD5(ByVal inputText As String) As String

        Dim fromData As Byte() = System.Text.Encoding.UTF8.GetBytes(inputText)
        Dim targetData As Byte() = md5.ComputeHash(fromData)
        Dim byte2String As String = Nothing

        For i As Integer = 0 To targetData.Length - 1
            byte2String += targetData(i).ToString("x2")
        Next

        Return byte2String
    End Function
End Class

 回到顶部
总数 19 1 2 下一页