Heim  >  Artikel  >  WeChat-Applet  >  WeChat-Entwicklung – Erhalten grundlegender Benutzerinformationen durch Autorisierung

WeChat-Entwicklung – Erhalten grundlegender Benutzerinformationen durch Autorisierung

高洛峰
高洛峰Original
2017-02-14 11:07:591667Durchsuche

1. Geben Sie den Domänennamen der Autorisierungsrückrufseite ein.

Geben Sie hier wx.alinq.org ein. Nach Erhalt der Autorisierung des Benutzers wird zu einer vom Entwickler angegebenen Seite gesprungen, und der Link zur Seite muss sich unter dem Domänennamen befinden. Wenn das Feld nicht ausgefüllt ist, wird eine Seite mit ungültigen Seitenlinks angezeigt.

WeChat-Entwicklung – Erhalten grundlegender Benutzerinformationen durch Autorisierung

WeChat-Entwicklung – Erhalten grundlegender Benutzerinformationen durch Autorisierung

2. Leiten Sie den Benutzer zur angegebenen Autorisierungsseite

Zum Beispiel: https://open.weixin .qq .com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

Eine Erläuterung der Parameter finden Sie in den WeChat-bezogenen Dokumenten. Es ist erwähnenswert, dass „redirect_uri“ eine URL ist, die url-codiert sein muss. Nach dem Generieren der URL können Sie zu http://cli.im/text/2014052714?4QbdC gehen, um einen QR-Code für die URL zu generieren, und dann scannen es in WeChat, um es zu testen.

WeChat-Entwicklung – Erhalten grundlegender Benutzerinformationen durch Autorisierung

Nach dem Scannen:

WeChat-Entwicklung – Erhalten grundlegender Benutzerinformationen durch Autorisierung

3. Zum Schluss ist hier der vollständig implementierte Code

Unten ist der vollständige Code, ich hoffe, er ist für alle nützlich. ^_^

<%@ WebHandler Language="C#" %>

public class UserAuth : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
 
        var appid = "wxf1c24c60e3ac13b7";
        var secret = "5902b9817acb7a290d4b7c2e6e97d4d3";

        var code = context.Request.QueryString["Code"];
        if (string.IsNullOrEmpty(code))
        {
            var url = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http%3a%2f%2fwx.alinq.org%2fTest%2fUserAuth.ashx&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect", appid);
            context.Response.Redirect(url);
        }
        else
        {
            var client = new System.Net.WebClient();
            client.Encoding = System.Text.Encoding.UTF8;

            var url = string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code", appid, secret, code);
            var data = client.DownloadString(url);

            var serializer = new JavaScriptSerializer();
            var obj = serializer.Deserialize<Dictionary<string, string>>(data);
            string accessToken;
            if (!obj.TryGetValue("access_token", out accessToken))
                return;

            var opentid = obj["openid"];
            url = string.Format("https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN", accessToken, opentid);
            data = client.DownloadString(url);
            var userInfo = serializer.Deserialize<Dictionary<string, object>>(data);
            foreach (var key in userInfo.Keys)
            {
                context.Response.Write(string.Format("{0}: {1}", key, userInfo[key]) + "<br/>");
            }
        }
    }
}

Für weitere WeChat-Entwicklung – Erhalten grundlegender Benutzerinformationen durch Autorisierung – beachten Sie bitte die PHP-Chinese-Website für verwandte Artikel!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn