3,143
社区成员
发帖
与我相关
我的任务
分享
#region 通过code换取openid
/// <summary>
/// 根据code获取用户的openid
/// </summary>
/// <param name="code"></param>
/// <returns></returns>
public static string CodeByOpenid(string code)
{
Log("0");
string OpenID = string.Empty;
string getUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code";
getUrl = string.Format(getUrl, APPID, AppSecret, code);
Uri uri = new Uri(getUrl);
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(uri);
webReq.Method = "POST";
//获取返回信息
Log("1");
HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream(), Encoding.Default);
string returnJason = streamReader.ReadToEnd();
Log(returnJason);
JavaScriptSerializer serializer = new JavaScriptSerializer();
Dictionary<string, object> json = (Dictionary<string, object>)serializer.DeserializeObject(returnJason);
object value;
if (json.TryGetValue("openid", out value))
{
OpenID = value.ToString();
}
return OpenID;
}
#endregion