この記事では、WeChat パブリック プラットフォームでフォローされているユーザーのニックネーム、アバター、性別、国、省、都市、言語などの基本情報を取得する方法を紹介します。
この記事の方法では、サブスクリプション アカウント、サービス アカウント、カスタム メニューのさまざまなシナリオを取り上げます。高度なインターフェイス権限があるかどうかに関係なく、ログインをシミュレートせずに基本的なユーザー情報を取得する方法があります。
この記事では、2 つの異なるアクセス トークンが異なる方法で生成されるという事実に特に注意を払う必要があります。1 つは AppID と AppSecret を使用して取得された access_token で、もう 1 つは OAuth2 で生成された access_token です。 0 認証。Fangbei Studio では、それぞれ グローバル アクセス トークン および 認可されたアクセス トークンと呼びます。
1. グローバルアクセストークンを通じてユーザーの基本情報を取得します
ユーザーがメッセージをフォローするかメッセージに返信すると、ユーザーのOpenIDを取得できます
<xml> <ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName> <FromUserName><![CDATA[ollB4jv7LA3tydjviJp5V9qTU_kA]]></FromUserName> <CreateTime>1372307736</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[subscribe]]></Event> <EventKey><![CDATA[]]></EventKey></xml>
FromUserNameはOpenIDです
その後、 access_token インターフェースで取得を要求します グローバル Access Token
は結果を返します:
{ "access_token": "NU7Kr6v9L9TQaqm5NE3OTPctTZx797Wxw4Snd2WL2HHBqLCiXlDVOw2l-Se0I-WmOLLniAYLAwzhbYhXNjbLc_KAA092cxkmpj5FpuqNO0IL7bB0Exz5s5qC9Umypy-rz2y441W9qgfnmNtIZWSjSQ", "expires_in": 7200 }
その後、グローバル ACCESS_TOKEN を使用して OpenID の詳細情報を取得します
戻り値は次のとおりです:
{ "subscribe": 1, "openid": "oLVPpjqs2BhvzwPj5A-vTYAX4GLc", "nickname": "刺猬宝宝", "sex": 1, "language": "zh_CN", "city": "深圳", "province": "广东", "country": "中国", "headimgurl": "http://wx.qlogo.cn/mmopen/JcDicrZBlREhnNXZRudod9PmibRkIs5K2f1tUQ7lFjC63pYHaXGxNDgMzjGDEuvzYZbFOqtUXaxSdoZG6iane5ko9H30krIbzGv/0", "subscribe_time": 1386160805 }
この時点で基本情報ユーザーの情報を取得します。
下記の公開アカウントをフォローした際の返信のように、フォロー時にフォロー歓迎のメッセージ+ユーザーニックネームを返信するのに最適な方法です。 QRコードを読み取って体験してください。
2. OAuth2.0 メソッド を使用して認証ページ をポップアップし、ユーザーの基本情報を取得します
1. 最初にコールバック ドメイン名を設定します
ユーザーがクリックすると、アプリケーション認証インターフェースがポップアップします
コールバック URL には次のようにリンクされています
その後、そのコードを使用して交換します。 oauth2認証のaccess_token
URLは以下の通りです:
認可されたアクセストークンを取得:
{ "access_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-G0ZWEE5-uBjBz941EOPqDQy5sS_GCs2z40dnvU99Y5AI1bw2uqN--2jXoBLIM5d6L9RImvm8Vg8cBAiLpWA8Vw", "expires_in": 7200, "refresh_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-G0ZWEE5-uBjBz941EOPqDQy5sS_GCs2z40dnvU99Y5CZPAwZksiuz_6x_TfkLoXLU7kdKM2232WDXB3Msuzq1A", "openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc", "scope": "snsapi_userinfo," }
認可されたアクセストークンを使用してユーザー情報を取得します
以下のように戻ります
{ "openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc", "nickname": "刺猬宝宝", "sex": 1, "language": "zh_CN", "city": "深圳", "province": "广东", "country": "中国", "headimgurl": "http://wx.qlogo.cn/mmopen/utpKYf69VAbCRDRlbUsPsdQN38DoibCkrU6SAMCSNx558eTaLVM8PyM6jlEGzOrH67hyZibIZPXu4BK1XNWzSXB3Cs4qpBBg18/0", "privilege": [] }
ユーザー情報の取得が完了しました。
最終的なユーザー情報は以下の通りです
この方法の詳細なプロセスは、WeChatパブリックプラットフォーム開発(71)OAuth2.0 Web認証を参照してください
この方法は適切です、
1. サークル内でユーザー情報を取得します。
2. Web ページでユーザー情報を取得します。
3. カスタムメニューでユーザー情報を取得します。
すでに OAuth2.0 Web ページ認証を持っているサービス アカウントでこの方法を使用する場合、方法 3 の方法に自動的に変換され、「WeChat ログイン」プロンプト ボックスが表示されないことに注意してください。
WeChatで以下のQRコードをスキャンし、「承認」と返信すると、この取得方法を体験できます。
3. OAuth2.0 を通じて 認証ページをポップアップせずにユーザーの基本情報を取得
次の結果を返します{ "access_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-oJ9VmO-0Z-_izfnSAX_s0aqDsYkW4s8W5dLZ4iyNj5Y6vey3dgDtFki5C8r6D0E6mSVxxtb8BjLMhb-mCyT_Yg", "expires_in": 7200, "refresh_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-oJ9VmO-0Z-_izfnSAX_s0aqDsYkW4s8W5dLZ4iyNj5YBkF0ZUH1Ew8Iqea6x_itq13sYDqP1D7ieaDy9u2AHHw", "openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc", "scope": "snsapi_base" }
{ "access_token": "NU7Kr6v9L9TQaqm5NE3OTPctTZx797Wxw4Snd2WL2HHBqLCiXlDVOw2l-Se0I-WmOLLniAYLAwzhbYhXNjbLc_KAA092cxkmpj5FpuqNO0IL7bB0Exz5s5qC9Umypy-rz2y441W9qgfnmNtIZWSjSQ", "expires_in": 7200 }
{ "subscribe": 1, "openid": "oLVPpjqs2BhvzwPj5A-vTYAX4GLc", "nickname": "刺猬宝宝", "sex": 1, "language": "zh_CN", "city": "深圳", "province": "广东", "country": "中国", "headimgurl": "http://wx.qlogo.cn/mmopen/JcDicrZBlREhnNXZRudod9PmibRkIs5K2f1tUQ7lFjC63pYHaXGxNDgMzjGDEuvzYZbFOqtUXaxSdoZG6iane5ko9H30krIbzGv/0", "subscribe_time": 1386160805 }
4. どの方法が最適ですか?
ご参考までに
1. サービス アカウント
には高度なインターフェイス権限があります: メッセージ返信のカスタマイズ メニューで 3 つの方法を使用できます (方法 3 は招商銀行クレジット カード センターで使用され、方法 2 は康盛マイクロ コミュニティで使用されます)。高度なインターフェイス権限: メッセージの返信で使用されます。 方法 2 カスタム メニューの方法 2 を使用します (高度な権限はなく、他の人の Appid と AppSecret を借用する必要があります)
2. サブスクリプション アカウント
は認証されており、ユーザー情報を取得する権限を持っています。メッセージ返信の方法1 方法2 (高度な権限は必要ありません) カスタムメニューで使用する 他の人のAppidとAppSecretを借用する権限が必要)
認証されていないため、ユーザー情報を取得する権限がありません 方法2を使用するカスタムメニューにはメソッドはありません。メッセージの返信で (高度な権限はありません。他の人の Appid と AppSecret を借用する必要があります。これは Fangbei Studio が使用するものです
以上が基本的なユーザー情報を取得するための WeChat パブリック プラットフォームを開発するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。