void oa2client_Authorized(object sender, EventArgs e) { authBrowser.Visibility = System.Windows.Visibility.Hidden; oa2client.ObtainAccesToken(); savedToken = oa2client.Token; HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("https://auth.photosi.com/api/user_profile"); oa2client.SignHTTPRequest(ref httpRequest); WebResponse wr = httpRequest.GetResponse(); StreamReader stream = new StreamReader(wr.GetResponseStream()); string text = stream.ReadToEnd(); MessageBox.Show(text); }
void CallAPI_Click(object sender, RoutedEventArgs e) { OAuth2Client client = new OAuth2Client(); oa2client.AuthorizationEndpoint = "https://auth.photosi.com/oauth2/authorize/"; oa2client.TokenEndpoint = "https://auth.photosi.com/oauth2/token/"; oa2client.ClientId = "c1044bb10aac85c35ba65cce87578d"; oa2client.ClientSecret = "6741fc500559c29cc9b8f56dde1ac5"; oa2client.Token = savedToken; HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("https://auth.photosi.com/api/user_profile"); oa2client.SignHTTPRequest(ref httpRequest); //token could be refreshed savedToken = oa2client.Token; WebResponse wr = httpRequest.GetResponse(); StreamReader stream = new StreamReader(wr.GetResponseStream()); string text = stream.ReadToEnd(); MessageBox.Show(text); }
/// <summary> /// Refresh expired access token /// </summary> public void RefreshAccessToken() { if (!IsTokenValid && IsTokenRefreshable) { //refreshable token needs to refresh HttpWebRequest request = (HttpWebRequest)WebRequest.Create(String.Format("{0}?grant_type=refresh_token&client_id={1}refresh_token={2}", _tokenEndpoint, ClientId, _accessToken.RefreshToken)); request.Headers["Authorization"] = _getClientHeader(); DateTime tokenReqestDate = DateTime.Now; WebResponse response = request.GetResponse(); _accessToken = _deserializeToken(response.GetResponseStream()); _accessToken.TokenDate = tokenReqestDate; } }
/// <summary> /// Obtain first access token after authorization /// </summary> public void ObtainAccesToken() { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(String.Format("{0}?grant_type=authorization_code&client_id={1}&redirect_uri={2}&code={3}", _tokenEndpoint, ClientId, HttpUtility.UrlEncode(_redirect), _code)); request.Headers["Authorization"] = _getClientHeader(); DateTime tokenReqestDate = DateTime.Now; WebResponse response = request.GetResponse(); _accessToken = _deserializeToken(response.GetResponseStream()); _accessToken.TokenDate = tokenReqestDate; }