public void SignOn(string status, int state) { var param = new Dictionary <string, string>(); param["realm"] = "yahooapis.com"; param["oauth_consumer_key"] = FetchReqData.ConsummerKey; param["oauth_nonce"] = OAuthUtil.GenerateNonce(); param["oauth_signature_method"] = "PLAINTEXT"; param["oauth_timestamp"] = OAuthUtil.GenerateTimeStamp(); param["oauth_token"] = FetchReqData.OauthToken; param["oauth_version"] = "1.0"; param["oauth_signature"] = FetchReqData.ConsummerSecret + "%26" + FetchReqData.OauthTokenSecret; OauthHeader = MakeRequestHeader(param); var url = new StringBuilder(CommonConst.URL_YM_SESSION); url.Append("?notifyServerToken=1"); WebRequest request = WebRequest.Create(url.ToString()); request.ContentType = "application/json; charset=utf-8"; request.Headers.Add("Authorization", OauthHeader); var data = MakeJsonData(status, state); var result = HttpUtil.SendPostReq(request, data, true); var temp = StringUtil.Split(result, "<QuangPB>"); Cookie = GetCookie(temp[0].Trim()); GetOtherInfoOfSignOn(temp[1].Trim()); }
public void GenerateTimeStampTest() { // Generate a Timestamp, and fetch the creation time of the timestamp for later comparison var util = new OAuthUtil(); var srcTime = DateTime.UtcNow; string timestamp = util.GenerateTimeStamp(); // Ensure that the generated timestamp is a whole number long unixTime; Assert.That(long.TryParse(timestamp, out unixTime), Is.True); // Convert the UNIX timestamp to a .NET DateTime var parsedTime = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(unixTime); TimeSpan timeDifference = parsedTime - srcTime; // Check whether the timestamp represents the current time Assert.That((long)Math.Abs(timeDifference.TotalSeconds), Is.EqualTo(0)); }
public void FetchAccessToken() { var param = new Dictionary <string, string>(); param["oauth_consumer_key"] = ConsummerKey; param["oauth_nonce"] = OAuthUtil.GenerateNonce(); param["oauth_signature"] = HttpUtility.UrlEncode(ConsummerSecret + "&"); param["oauth_signature_method"] = "PLAINTEXT"; param["oauth_timestamp"] = OAuthUtil.GenerateTimeStamp(); param["oauth_token"] = ReqestToken; param["oauth_version"] = "1.0"; var url = new StringBuilder(CommonConst.URL_OAUTH_ACCESS_TOKEN); url.Append(HttpUtil.ToQueryString(param, true, "")); WebRequest request = WebRequest.Create(url.ToString()); var result = HttpUtil.SendGetReq(request, false); var tmp = StringUtil.Split(result, "=|&"); OauthToken = tmp[1].Trim(); OauthTokenSecret = tmp[3].Trim(); }
public void FetchCrumb() { var param = new Dictionary <string, string>(); param["oauth_consumer_key"] = ConsummerKey; param["oauth_nonce"] = OAuthUtil.GenerateNonce(); param["oauth_signature"] = ConsummerSecret + "%26" + OauthTokenSecret; param["oauth_signature_method"] = "PLAINTEXT"; param["oauth_timestamp"] = OAuthUtil.GenerateTimeStamp(); param["oauth_token"] = OauthToken; param["oauth_version"] = "1.0"; var url = new StringBuilder(CommonConst.URL_YM_SESSION); url.Append(HttpUtil.ToQueryString(param, true, "")); WebRequest request = WebRequest.Create(url.ToString()); request.ContentType = "application/json; charset=utf-8"; var result = HttpUtil.SendGetReq(request, false); Crumb = GetCrumb(result); }