62,263
社区成员
发帖
与我相关
我的任务
分享
if (LWRequest.GetString("code") != "")
{
OAuthUserInfo infos = null;
try
{
DataTable result = GetToken(LWRequest.GetString("code"), Appid, Ksy);
if (result.Columns.Contains("errcode"))
{
Prompt("" + result.Rows[0]["errmsg"].ToString());
return;
}
infos = OAuthApi.GetUserInfo(result.Rows[0]["access_token"].ToString(), result.Rows[0]["openid"].ToString());
}
catch
{
Response.Redirect("/500error.html");
}
if (infos != null)
{
}
}
else
{
string u = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + Appid + "&redirect_uri=" + System.Web.HttpContext.Current.Server.UrlEncode(url) + "&response_type=code&scope=snsapi_userinfo&state=1&connect_redirect=1#wechat_redirect";
Response.Redirect(u);
}
[/quote]
我总觉得是代码问题,因为我这里访问,好像还没出过这个情况。。。。。
但是根据楼主的代码,也分析不出原因
[/quote]
关键是同一套代码,有些人能授权成功,有些人就不行,而且token 出问题,那也应该 try catch到,但是直接程序奔溃了。


if (string.IsNullOrEmpty(Request.QueryString["code"]))
{
string urlStr = OAuthApi.GetAuthorizeUrl(AppId, "你的授权方法/UserOAuth?url=" + urlCallBack, "1", OAuthScope.snsapi_base, "code");
Redirect(urlStr)
}
else
{
//如果用户已经授权,那么这里添加代码
}
public void UserOAuth(string url,string code)
{
这里是授权方法。
}