public static OAuthTicket FromAuthCode(string authcode, string clientid, string clientsecret, string redirecturi)
{
var req = HTTPHelper.CreateRequest(null, OAuthTokenRequestUri);
var reqdata = new
{
code = authcode,
client_id = clientid,
client_secret = clientsecret,
redirect_uri = redirecturi,
grant_type = "authorization_code"
};
var respdata = HTTPHelper.ToJson(HTTPHelper.SendUrlEncodedPostData(req, reqdata));
return new OAuthTicket
{
ClientId = clientid,
ClientSecret = clientsecret,
RedirectUri = redirecturi,
_RefreshToken = respdata.refresh_token,
_AccessToken = respdata.access_token,
_TokenType = respdata.token_type,
AccessTokenExpires = DateTime.Now.Add(new TimeSpan((respdata.expires_in - 60) * 10000000))
};
}