public void RefreshToken()
{
try
{
SecretSettings secretSettings = new SecretSettings();
string sign = GetRefrashSign(secretSettings.AppKey, secretSettings.SessionKey, secretSettings.refresh_token, secretSettings.AppSecret);
Dictionary<string, string> urlParams = new Dictionary<string, string>();
urlParams.Add("appkey", secretSettings.AppKey);
urlParams.Add("refresh_token", secretSettings.refresh_token);
urlParams.Add("sessionkey", secretSettings.SessionKey);
urlParams.Add("sign", sign);
try
{
WebUtils webUtils=new WebUtils();
string responsStr= webUtils.DoPost(secretSettings.refresh_token_Url, urlParams);
IDictionary result = TopUtils.ParseJson(responsStr);
if(result.Contains("error"))
{
Ext.Net.ResourceManager.AjaxSuccess = false;
Ext.Net.ResourceManager.AjaxErrorMessage = result["error"].ToString() + ":" + result["error_description"].ToString();
}
else
{
DateTime refrashDate = DateTime.Now;
secretSettings.SessionKey = result["top_session"].ToString();
secretSettings.refresh_token = result["refresh_token"].ToString();
secretSettings.expires_in = Convert.ToInt32(result["expires_in"].ToString());
secretSettings.SessionCreateDate = refrashDate;
secretSettings.re_expires_in = Convert.ToInt32(result["re_expires_in"].ToString());
secretSettings.refresh_token_RefreshDate = refrashDate;
secretSettings.r1_expires_in = Convert.ToInt32(result["r1_expires_in"].ToString());
secretSettings.r1_expires_in_RefreshDate = refrashDate;
secretSettings.r2_expires_in = Convert.ToInt32(result["r2_expires_in"].ToString());
secretSettings.r2_expires_in_RefreshDate = refrashDate;
secretSettings.w1_expires_in = Convert.ToInt32(result["w1_expires_in"].ToString());
secretSettings.w1_expires_in_RefreshDate = refrashDate;
secretSettings.w2_expires_in = Convert.ToInt32(result["w2_expires_in"].ToString());
secretSettings.w2_expires_in_RefreshDate = refrashDate;
secretSettings.SaveConfig();
SetPropertyGrid(secretSettings);
}
}
catch (Exception e)
{
Ext.Net.ResourceManager.AjaxSuccess = false;
Ext.Net.ResourceManager.AjaxErrorMessage = e.Message;
}
}
catch (Exception e)
{
Ext.Net.ResourceManager.AjaxSuccess = false;
Ext.Net.ResourceManager.AjaxErrorMessage = e.Message;
}
}鉴于某些小童鞋的要求,补充一下刷新SESSIONKEY的方法。
本文介绍了如何使用淘宝API刷新SessionKey的步骤,包括获取签名、构造请求参数、发送POST请求以及处理响应。通过示例代码展示了处理错误和更新配置的细节。

2843

被折叠的 条评论
为什么被折叠?



