question :1. this code for refresh token is not working. can anyone please suggest any changes?it is giving me error -- The remote server returned an error: (401) Unauthorized.
2. can we use access token stored anytime to refresh token ?
i am inserting OauthToken , token secret, session handle which i retrieved from Access token.
private void RefreshToken()
{
OAuthBase oauth = new OAuthBase();
Uri uri = new Uri("https://api.login.yahoo.com/oauth/v2/get_token");
string nonce = oauth.GenerateNonce();
string timeStamp = oauth.GenerateTimeStamp();
string sig = ConsumerSecret + "%26" + OauthTokenSecret;
StringBuilder sbrefreshToken = new StringBuilder(uri.ToString());
sbrefreshToken.AppendFormat("?oauth_consumer_key={0}&", ConsumerKey);
sbrefreshToken.AppendFormat("oauth_signature_method={0}&", "PLAINTEXT");
sbrefreshToken.AppendFormat("oauth_signature={0}&", sig);
sbrefreshToken.AppendFormat("oauth_timestamp={0}&", timeStamp);
sbrefreshToken.AppendFormat("oauth_version={0}&", "1.0");
sbrefreshToken.AppendFormat("oauth_token={0}&", OauthToken);
sbrefreshToken.AppendFormat("oauth_session_handle={0}&", OauthSessionHandle);
sbrefreshToken.AppendFormat("oauth_nonce={0}", nonce);
try
{
string returnStr = string.Empty;
string[] returnData;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(sbrefreshToken.ToString());
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
StreamReader streamReader = new StreamReader(res.GetResponseStream());
returnStr = streamReader.ReadToEnd();
returnData = returnStr.Split(new Char[] { '&' });
//Response.Write(returnStr);
int index;
if (returnData.Length > 0)
{
index = returnData[0].IndexOf("=");
string oauth_token = returnData[0].Substring(index + 1);
OauthToken = oauth_token;
index = returnData[1].IndexOf("=");
string oauth_token_secret = returnData[1].Substring(index + 1);
OauthTokenSecret = oauth_token_secret;
//index = returnData[2].IndexOf("=");
//int oauth_expires_in;
//Int32.TryParse(returnData[2].Substring(index + 1), out oauth_expires_in);
index = returnData[3].IndexOf("=");
string oauth_session_handle = returnData[3].Substring(index + 1);
OauthSessionHandle = oauth_session_handle;
//index = returnData[4].IndexOf("=");
//int oauth_authorization_expires_in;
//Int32.TryParse(returnData[4].Substring(index + 1), out oauth_authorization_expires_in);
index = returnData[5].IndexOf("=");
string xoauth_yahoo_guid = returnData[5].Substring(index + 1);
OauthYahooGuid = xoauth_yahoo_guid;
}
}
catch (WebException ex)
{
Response.Write(ex.Message);