/// <summary> /// 人人网发布 /// </summary> /// <param name="channelName"></param> /// <param name="channelUrl"></param> /// <param name="message"></param> protected override void SocialSharePublish(string channelName, string channelUrl, string message, SocialBase.SocialShareHandler callBack) { JudgeToken(SocialViewModel.Instance.GetRecord(SocialType.RENREN)); var renren = new RenrenApiClient(); try { renren.CallPublishShare(channelName, channelUrl, message, responseData => { var responseMsg = string.Empty; try { JObject.Parse(responseData); callBack(true, responseData); } catch { callBack(false, responseData); } }); } catch (Exception ex) { callBack(false, ex.Message); } }
/// <summary> /// 判断Token是否需要刷新 /// </summary> public static void JudgeToken(SocialDataInfo social) { if (string.IsNullOrEmpty(social.RefreshToken)) { social.IsBinded = false; return; } if (DateTime.Now.Ticks >= social.Expire) { var renren = new RenrenApiClient(); renren.RefreshToken(social.RefreshToken, responseData => { try { var jsonObj = JObject.Parse(responseData); var new_token = jsonObj["access_token"].ToString(); if (social.AcessToken == new_token) { return; } social.AcessToken = new_token; social.Expire = DateTime.Now.AddSeconds(Convert.ToInt32(jsonObj["expires_in"].ToString())).Ticks; social.RefreshToken = jsonObj["refresh_token"].ToString(); } catch { social.IsBinded = false; } SocialViewModel.Instance.SubmitChange(); }); } }
/// <summary> /// 判断Token是否需要刷新 /// </summary> public static void JudgeToken(SocialDataInfo social) { if (string.IsNullOrEmpty(social.RefreshToken)) { social.IsBinded = false; return; } if (DateTime.Now.Ticks >= social.Expire) { var renren = new RenrenApiClient(); renren.RefreshToken(social.RefreshToken, responseData => { try { var jsonObj = JObject.Parse(responseData); var new_token = jsonObj["access_token"].ToString(); if (social.AcessToken == new_token) return; social.AcessToken = new_token; social.Expire = DateTime.Now.AddSeconds(Convert.ToInt32(jsonObj["expires_in"].ToString())).Ticks; social.RefreshToken = jsonObj["refresh_token"].ToString(); } catch { social.IsBinded = false; } SocialViewModel.Instance.SubmitChange(); }); } }