zoukankan      html  css  js  c++  java
  • 淘宝Refrash_token签名错误的解决办法

    最近在做淘宝相关应用,想要通过Refrash_token来延长SessionKey的授权时间,但是总是报406 sign error.

     

    经过多次尝试和多方询问,方才知道原来淘宝给的.net SDK里面的签名方法(SignTopRequest)是不能用于Refrash_token的签名。

    只好老老实实的按照官方例子,把JAVA的翻译成C#的。

     1 private string GetRefrashSign(string appkey, string sessionKey, string refrashToken, string secret)
     2         {
     3             Dictionary<string, string> signParams = new Dictionary<string, string>();
     4             signParams.Add("appkey", appkey);
     5             signParams.Add("refresh_token", refrashToken);
     6             signParams.Add("sessionkey", sessionKey);
     7             //return TopUtils.SignTopRequest(signParams, secret,true).ToUpper();
     8             StringBuilder paramsString = new StringBuilder();
     9             foreach (KeyValuePair<string, string> param in signParams)
    10             {
    11                 paramsString.Append(param.Key);
    12                 paramsString.Append(param.Value);
    13             }
    14             paramsString.Append(secret);
    15             return GetMd5String(paramsString.ToString()).ToUpper();
    16         }
    17         private string GetMd5String(string paramsString)
    18         {
    19             MD5 md5 = MD5.Create();
    20             byte[] bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(paramsString));
    21             StringBuilder sb = new StringBuilder();
    22             foreach (byte b in bytes)
    23                 sb.AppendFormat("{0:X2}", b);
    24             return sb.ToString();
    25         }
    View Code
  • 相关阅读:
    Active Report 3 生成图表
    js asp.net enable/disable validator
    [.net] 如何在mail的加入正文显示图片
    [javascript] 得到 javascript 的当前文件名
    Colorful Stones
    Jam的计数法

    Beautiful Matrix
    能量项链
    Maxim and Discounts
  • 原文地址:https://www.cnblogs.com/tianlong/p/3745666.html
Copyright © 2011-2022 走看看