Rumah pembangunan bahagian belakang tutorial php 微信公众平台实现获取用户OpenID的方法_PHP

微信公众平台实现获取用户OpenID的方法_PHP

Jun 01, 2016 pm 02:35 PM
Platform awam WeChat dapatkan

本文实例讲述了微信公众平台实现获取用户OpenID的方法。分享给大家供大家参考。具体分析如下:

用户点击微信自定义菜单view类型按钮后,微信客户端将会打开开发者在按钮中填写的url值 (即网页链接),达到打开网页的目的,但是view不能获取用户的openid,需要使用微信“网页授权获取用户基本信息”高级接口结合使用,获得用户的登入个人信息。

具体方法:

1、配置网页授权回调域名,如 www.bitsCN.com

2、模拟公众号的第三方网页,http://www.bitsCN.com/getcodeurl.php

<&#63;php 
if(isset($_SESSION['user'])){ 
 print_r($_SESSION['user']);
exit;
}
$APPID='公众号在微信的appid';
$REDIRECT_URI='http://www.bitsCN.com/callback.php';
$scope='snsapi_base';
//$scope='snsapi_userinfo';//需要授权
$url='https://open.weixin.qq.com/connect/oauth2/authorize&#63;appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state='.$state.'#wechat_redirect';
header("Location:".$url);
&#63;>
Salin selepas log masuk

3、第三方网页的回跳url中,首先从请求中取得code,然后根据code进一步换取openid和access_token,然后就可以根据openid和access_token调用微信的相关接口查询用户信息了。

<&#63;php
//http://www.bitsCN.com/callback.php
$appid = "公众号在微信的appid"; 
$secret = "公众号在微信的app secret"; 
$code = $_GET["code"]; 
$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token&#63;appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$get_token_url); 
curl_setopt($ch,CURLOPT_HEADER,0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); 
$res = curl_exec($ch); 
curl_close($ch); 
$json_obj = json_decode($res,true); 
//根据openid和access_token查询用户信息 
$access_token = $json_obj['access_token']; 
$openid = $json_obj['openid']; 
$get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo&#63;access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN'; 

$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL,$get_user_info_url); 
curl_setopt($ch,CURLOPT_HEADER,0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); 
$res = curl_exec($ch); 
curl_close($ch); 

//解析json 
$user_obj = json_decode($res,true); 
$_SESSION['user'] = $user_obj; 
print_r($user_obj); 
&#63;>
Salin selepas log masuk

希望本文所述对大家基于php的微信公众平台开发有所帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendapatkan sambungan fail dalam Python? Bagaimana untuk mendapatkan sambungan fail dalam Python? Sep 08, 2023 pm 01:53 PM

Sambungan fail dalam Python ialah akhiran yang dilampirkan pada penghujung nama fail untuk menunjukkan format atau jenis fail. Ia biasanya terdiri daripada tiga atau empat aksara, nama fail diikuti dengan noktah, seperti ".txt" atau ".py". Sistem pengendalian dan program menggunakan sambungan fail untuk menentukan jenis fail itu dan cara ia harus diproses. Diiktiraf sebagai fail teks biasa. Sambungan fail dalam Python adalah penting semasa membaca atau menulis fail kerana ia menetapkan format fail dan cara terbaik untuk membaca dan menulis data. Sebagai contoh, sambungan fail ".csv" ialah sambungan yang digunakan semasa membaca fail CSV dan modul csv digunakan untuk memproses fail. Algoritma untuk mendapatkan sambungan fail dalam Python Manipulasi rentetan nama fail dalam Python.

Gunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor Gunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor Jul 24, 2023 pm 01:24 PM

Gunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor Dalam matematik dan pengaturcaraan, selalunya perlu mencari nilai maksimum dalam set nombor. Dalam bahasa Go, kita boleh menggunakan fungsi Max dalam pakej matematik untuk mencapai fungsi ini. Artikel ini akan memperkenalkan cara menggunakan fungsi math.Max ​​untuk mendapatkan nilai maksimum dalam set nombor, dan memberikan contoh kod yang sepadan. Pertama, kita perlu mengimport pakej matematik. Dalam bahasa Go, anda boleh menggunakan kata kunci import untuk mengimport pakej, seperti yang ditunjukkan di bawah: import"mat

Di mana untuk mendapatkan kod keselamatan Google Di mana untuk mendapatkan kod keselamatan Google Mar 30, 2024 am 11:11 AM

Google Authenticator ialah alat yang digunakan untuk melindungi keselamatan akaun pengguna dan kuncinya ialah maklumat penting yang digunakan untuk menjana kod pengesahan dinamik. Jika anda terlupa kunci Google Authenticator dan hanya boleh mengesahkannya melalui kod keselamatan, maka editor tapak web ini akan membawakan anda pengenalan terperinci tentang tempat untuk mendapatkan kod keselamatan Google. Saya harap ia dapat membantu anda tahu lebih lanjut Pengguna sila teruskan membaca di bawah! Mula-mula buka tetapan telefon dan masukkan halaman tetapan. Tatal ke bawah halaman dan cari Google. Pergi ke halaman Google dan klik pada Akaun Google. Masukkan halaman akaun dan klik Lihat di bawah kod pengesahan. Masukkan kata laluan anda atau gunakan cap jari anda untuk mengesahkan identiti anda. Dapatkan kod keselamatan Google dan gunakan kod keselamatan untuk mengesahkan identiti Google anda.

Bagaimana untuk mendapatkan elemen terakhir LinkedHashSet di Java? Bagaimana untuk mendapatkan elemen terakhir LinkedHashSet di Java? Aug 27, 2023 pm 08:45 PM

Mendapatkan semula elemen terakhir daripada LinkedHashSet dalam Java bermakna mendapatkan semula elemen terakhir dalam koleksinya. Walaupun Java tidak mempunyai kaedah terbina dalam untuk membantu mendapatkan semula item terakhir dalam LinkedHashSets, terdapat beberapa teknik berkesan yang memberikan fleksibiliti dan kemudahan untuk mendapatkan semula elemen terakhir ini dengan cekap tanpa melanggar perintah sisipan - satu kemestian bagi isu pembangun Java yang ditangani dengan berkesan dalam aplikasinya . Dengan menggunakan strategi ini secara berkesan dalam projek perisian mereka, mereka boleh mencapai penyelesaian terbaik untuk keperluan ini LinkedHashSetLinkedHashSet ialah struktur data yang cekap dalam Java yang menggabungkan HashSet dan

Bagaimana untuk memasang dua kad SIM pada Realme 12 Pro? Bagaimana untuk memasang dua kad SIM pada Realme 12 Pro? Mar 18, 2024 pm 02:10 PM

Walaupun operasi umum telefon mudah alih domestik sangat serupa, masih terdapat beberapa perbezaan dalam beberapa butiran Sebagai contoh, model dan pengeluar telefon mudah alih yang berbeza mungkin mempunyai kaedah pemasangan dwi-SIM yang berbeza. Telefon baharu Erzhenwo 12Pro juga menyokong dwi-SIM siap sedia, tetapi bagaimanakah dwi-SIM perlu dipasang pada telefon ini? Bagaimana untuk memasang dwi SIM pada Realme 12Pro? Ingat untuk mematikan telefon anda sebelum pemasangan. Langkah 1: Cari dulang kad SIM: Cari dulang kad SIM telefon Biasanya, dalam Realme 12 Pro, dulang kad SIM terletak di bahagian tepi atau atas telefon. Langkah 2: Masukkan kad SIM pertama Gunakan pin kad SIM khusus atau objek kecil untuk memasukkannya ke dalam slot dalam dulang kad SIM Kemudian, masukkan kad SIM pertama dengan teliti.

Program Java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait Program Java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait Sep 06, 2023 am 10:13 AM

Saiz fail ialah jumlah ruang storan yang digunakan oleh fail tertentu pada peranti storan tertentu, seperti cakera keras. Saiz fail diukur dalam bait. Dalam bahagian ini, kita akan membincangkan cara melaksanakan program java untuk mendapatkan saiz fail yang diberikan dalam bait, kilobait dan megabait. Satu bait ialah unit terkecil maklumat digital. Satu bait bersamaan dengan lapan bit. Satu kilobait (KB) = 1,024 bait, satu megabait (MB) = 1,024KB, satu gigabait (GB) = 1,024MB dan satu terabait (TB) = 1,024GB. Saiz fail biasanya bergantung pada jenis fail dan jumlah data yang terkandung di dalamnya. Mengambil dokumen teks sebagai contoh, saiz fail mungkin hanya beberapa kilobait, manakala imej resolusi tinggi atau fail video mungkin

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Jan 05, 2024 pm 06:08 PM

Tutorial JavaScript: Bagaimana untuk mendapatkan kod status HTTP, contoh kod khusus diperlukan: Dalam pembangunan web, interaksi data dengan pelayan sering terlibat. Apabila berkomunikasi dengan pelayan, kami selalunya perlu mendapatkan kod status HTTP yang dikembalikan untuk menentukan sama ada operasi itu berjaya dan melaksanakan pemprosesan yang sepadan berdasarkan kod status yang berbeza. Artikel ini akan mengajar anda cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan menyediakan beberapa contoh kod praktikal. Menggunakan XMLHttpRequest

Dapatkan kemas kini terkini sekarang: Betulkan kemas kini terkini yang tiada Dapatkan kemas kini terkini sekarang: Betulkan kemas kini terkini yang tiada Nov 08, 2023 pm 02:25 PM

Jika pilihan "Dapatkan kemas kini terkini sebaik sahaja ia tersedia" tiada atau dikelabukan, anda mungkin menjalankan versi Saluran Pembangun Windows 11, dan ini adalah perkara biasa. Bagi yang lain, isu timbul selepas memasang kemas kini KB5026446 (22621.1778). Berikut ialah perkara yang boleh anda lakukan untuk mendapatkan kembali pilihan "Dapatkan kemas kini terkini sebaik sahaja ia tersedia". Bagaimanakah saya boleh mendapatkan kembali pilihan "Dapatkan kemas kini terkini sebaik sahaja ia tersedia"? Sebelum memulakan mana-mana penyelesaian di bawah, pastikan anda menyemak kemas kini Windows 11 terkini dan memasangnya. 1. Gunakan ViVeTool untuk pergi ke halaman Katalog Kemas Kini Microsoft dan cari kemas kini KB5026446. Muat turun dan pasang semula kemas kini pada PC anda

See all articles