protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ABC();
}
}
private void ABC()
{
if (Session["OASession1"] == null) return;
if (Request["oauth_verifier"] == null) return;
OAuthSession session = (OAuthSession)Session["OASession1"];
var oauthVerifier = Request["oauth_verifier"];
string userid = "";
session.ResponseBodyAction = body => { userid = Regex.Match(body, "user_id=(.*)").Groups[1].Value; };
IToken accessToken = session.ExchangeRequestTokenForAccessToken((IToken)Session["requestToken"], oauthVerifier);
string str = session.Request().Get().ForUrl("http://api.t.sina.com.cn/users/show/" + userid + ".json?source=新浪申请Key").ToString();
using (JsonReader jsonReader = new JsonTextReader(new StringReader(str)))
{
while (jsonReader.Read())
{
Response.Write(jsonReader.Value+"<br/>");
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string requestUrl = "http://api.t.sina.com.cn/oauth/request_token";
string UserAuthorizeUrl = "http://api.t.sina.com.cn/oauth/authorize";
string AccessUrl = "http://api.t.sina.com.cn/oauth/access_token";
string callBackUrl = "http://localhost:2354/WebSite1/Default.aspx";
var context = new DevDefined.OAuth.Consumer.OAuthConsumerContext
{
ConsumerKey = "新浪申请Key",
ConsumerSecret = "新浪申请Scret",
SignatureMethod = SignatureMethod.HmacSha1
};
// if (Session["OASession1"] == null)
{
Session["OASession1"] = new OAuthSession(context, requestUrl, UserAuthorizeUrl, AccessUrl);
Session["requestToken"] = ((OAuthSession)Session["OASession1"]).GetRequestToken();
string anthorurl = ((OAuthSession)Session["OASession1"]).GetUserAuthorizationUrlForToken((IToken)Session["requestToken"], callBackUrl);
Response.Redirect(anthorurl);
}
}
将下载代码中session.ResponseBodyAction = body => { userid = Regex.Match(body, "user_id=(.*)").Groups[1].Value; };移到
IToken accessToken = session.ExchangeRequestTokenForAccessToken((IToken)Session["requestToken"], oauthVerifier);上一行。