C# WeChat パブリック アカウントの開発 - ユーザーの基本情報を取得するための Web ページの承認 (oauth2.0) 2
はじめに
この記事では、実際にデバッグがうまくできずに疑念を抱きましたが、テスト用の公開アカウントを使用したため、プログラムやアイデアを何度も確認した結果、問題はありませんでした。ある人は、以前デバッグするときにテスト用の公式アカウントを使用していて、私と同じ問題に遭遇したとのことですが、その後、公式の公式アカウントに変更したところ、うまくいきました。 WeChat の開発ドキュメントを繰り返し確認しましたが、snsapi_userinfo メソッドは snsapi_base よりも単純で理解しやすいです。
まず問題について説明します。 snsapi_userinfo のメソッドでは公式アカウントをフォローする必要がないため、ページのアドレスをクリックしてジャンプすると、テスト公式アカウントをフォローしていないことを示すメッセージが表示されました。
実装のアイデア
基本的なユーザー情報を取得するための Web ページの認証に関する前回の記事の基礎を踏まえて、インターフェースを全面的に調整して snsapi_userinfo を実装する方が速くなります。
1. 最初にコードを取得します
2. コードに基づいて Web ページの認証 access_token と openid を取得します。 ここの WeChat は、access_token の呼び出しが 1 日 12 回までに制限されているため、access_token を取得した後にキャッシュされます。
3. access_token と openid に基づいてユーザー情報を取得します。
コードを見てください
public ActionResult OAuthSnsApiUserInfo() { string code = Request.QueryString["code"]; try { if (!string.IsNullOrEmpty(code)) { OAuthToken oauthToken = HttpUtility.Get<OAuthToken> (string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code", appID, appsecret, code)); if (oauthToken != null && !string.IsNullOrEmpty(oauthToken.openid) && !string.IsNullOrEmpty(oauthToken.access_token)) { OAuthUserInfo userInfo = Get <OAuthUserInfo>(string.Format("https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN", oauthToken.access_token, oauthToken.openid)); if (userInfo != null) { ViewData["headImage"] = userInfo.headimgurl; ViewData["openid"] = userInfo.openid; ViewData["nickName"] = userInfo.nickname; if (userInfo.sex == 0) { ViewData["sex"] = "未知"; } else if (userInfo.sex == 1) { ViewData["sex"] = "男"; } else { ViewData["sex"] = "女"; } ViewData["province"] = userInfo.province; ViewData["city"] = userInfo.city; } else { } } else { } } else { return Redirect(string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_userinfo&state=123456 #wechat_redirect", appID,Server.UrlEncode("http://" + Request.Url.Host + Url.Action("OAuthSnsApiUserInfo")))); } } catch (Exception ex) { ViewData["errmsg"] = ex.Message; } return View(); }
概要
Web 認証 2 でユーザー情報を取得するためのインターフェイスは、https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN です。
リファレンス
http://www.cnblogs.com/net-xiejun/p/4632711.html
http://www.cnblogs.com/txw1958/p/weixin76-user-info.html
上記は、ユーザーの基本情報を取得するための C# WeChat パブリック アカウント開発 - Web ページ認証 (oauth2.0) 2 の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。
