:jingyan.baidu./article/48206aeae7aa24216ad6b3f3.
對比view和click菜單
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"type":"view",
"name":"歌手簡介",
"url":":baidu./"
}
從上面可以看出,click類型的菜單有key屬性,而view類型的菜單沒有key屬性,與之對應的是url屬性。key值是用於判斷用戶點擊了哪個click類型的菜單項。而view類型的菜單沒有key屬性,無法在公眾賬號後臺判斷是否有用戶點擊了view類型的菜單項,也就沒辦法知道哪個用戶點擊了view類型的菜單項,好在騰訊開放了高級接口,運用OAuth2.0網頁授權接口可以獲取openid,下面將介紹網頁授權獲取用戶基本信息接口。
網頁授權獲取用戶基本信息
服務號獲得高級接口後,默認帶有scope參數中的snsapi_base和snsapi_userinfo。這裏使用snsapi_base獲取openid,把上面的url換成
配置授權回調頁面域名
進入微信公眾平臺後臺後,依次進入 服務-我的服務,找到OAuth2.0網頁授權,
點擊右側的修改
授權回調域名配置規範為全域名並且不帶。
這裏我們填寫上面的ip地址,192.168.1.1
用戶授權並獲取code,把菜單更換成
{
"type":"view",
"name":"歌手簡介",
"url":":open.weixin.qq./connect/oauth2/authorize?appid=wxcd983566d32442bc&redirect_uri=:192.168.1.1/weixin/weixin.do?action=viewtest&response_type=code&scope=snsapi_base&state=1#wechat_redirect"
}
菜單跳轉的action
String code = request.getParameter("code");我們要的code
code說明 : code作為換取aess_token的票據,每次用戶授權帶上的code將不壹樣,code只能使用壹次,5分鐘未被使用自動過期。
使用code換取aess_token
網頁授權的作用域為snsapi_base,本步驟中獲取到網頁授權aess_token的同時,也獲取到了openid,snsapi_base式的網頁授權流程即到此為止。
換取網頁授權aess_token頁面的構造方式:
:api.weixin.qq./sns/oauth2/aess_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
正確時返回json數據
{ "aess_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}
到此我們成功獲取到了用戶的openid
php 微信怎樣獲取用戶openid1、要獲取openid,必須要通過OAuth2.0來完成網頁授權才能完成的,通過OAuth2.0來完成網頁授權後,在經過用戶許可後,就可以通過授權頁面,獲得用戶的openid 2、如何通過OAuth2.0網頁授權呢?要先通過申請高級接口功能 3、申請通過後,還要做壹個授權頁面,引導用戶授權就能獲得openid!
微信開發怎麽獲取用戶openid獲取微信用戶的openid目前有兩種方法: 壹是先回復壹條圖文消息,將用戶的openid帶在鏈接上,然後用戶通過點擊圖文消息的鏈接打開最終的頁面,這麽做用戶體驗非常非常不好,而且每個菜單都得這麽幹; 二是調用服務號的高級接口,可是我們大部分都是用訂閱號。 怎麽通過js獲取微信用戶的openid: 目前微信服務號在網頁獲取微信用戶openid就這兩種方法,訂閱號只能通過圖文或文本消息打開網頁,自己傳用戶的openid。
微信服務號怎麽獲取用戶的openid通過菜單打開url,在網頁頁面裏獲得用戶的openid,獲取 用戶的openid目前有兩種方法:壹是先回復壹條圖文消息,將用戶的openid帶在鏈接上,然後用戶通過點擊圖文消息的鏈接打開最終的頁面,這麽做用戶體驗非常非常不好,而且每個菜單都得這麽幹;二是調用服務號的高級接口,可是我們大部分都是用訂閱號。那怎麽通過js獲取 用戶的openid?答:目前 服務號在網頁獲取 用戶openid就這兩種方法,訂閱號只能通過圖文或文本消息打開網頁,自己傳用戶的openid。如果 訂閱號什麽都能做,那劃分訂閱號與 服務號的意義在哪呢?
微信獲取用戶openid的方法有哪些方法/步驟
要獲取openid,必須要通過OAuth2.0來完成網頁授權才能完成的,通過OAuth2.0來完成網頁授權後,在經過用戶許可後,就可以通過授權頁面,獲得用戶的openid
如何通過OAuth2.0網頁授權呢?要先通過申請高級接口功能
申請通過後,還要做壹個授權頁面,引導用戶授權就能獲得openid!
微信開發者自動登錄怎麽獲取用戶的openid
比如把妳的投票放在自定義菜單上,用戶點擊投票妳就能獲取到openid了,通過自定義菜單的事件推送就能獲取到openid,或者直接用網頁授權的方式,這都是服務號才有的權限
微信能不能根據openid獲取用戶信息具體方法:
1配置網頁授權回調域名,如 XXXt
2模擬公眾號的第三方網頁,:XXX./getcodeurl.php
<?php
if(isset($_SESSION['user'])){
print_r($_SESSION['user']);
exit;
}
$APPID='公眾號在微信的appid';
$REDIRECT_URI=':XXX./callback.php';
$scope='snsapi_base';
$scope='snsapi_userinfo';需要授權
$url=':open.weixin.qq./connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state='.$state.'#wechat_redirect';
header("Location:".$url);
?>
3、第三方網頁的回跳url中,首先從請求中取得code,然後根據code進壹步換取openid和aess_token,然後就可以根據openid和aess_token調用微信的相關接口查詢用戶信息了。
<?php
:XXX./callback.php
$appid = "公眾號在微信的appid";
$secret = "公眾號在微信的app secret";
$code = $_GET["code"];
$get_token_url = ':api.weixin.qq./sns/oauth2/aess_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
$ch = curl_init();
curl_set($ch,CURLOPT_URL,$get_token_url);
curl_set($ch,CURLOPT_HEADER,0);
curl_set($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_set($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);
根據openid和aess_token查詢用戶信息
$aess_token = $json_obj['aess_token'];
$openid = $json_obj['openid'];
$get_user_info_url = ':api.weixin.qq./sns/userinfo?aess_token='.$aess_token.'&openid='.$openid.'&lang=zh_CN';
$ch = curl_init();
curl_set($ch,CURLOPT_URL,$get_user_info_url);
curl_set($ch,CURLOPT_HEADER,0);
curl_set($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_set($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);
?>
微信獲取用戶頭像openid需要字符轉化嗎方法/步驟
要獲取openid,必須要通過OAuth2.0來完成網頁授權才能完成的,通過OAuth2.0來完成網頁授權後,在經過用戶許可後,就可以通過授權頁面,獲得用戶的openid
如何通過OAuth2.0網頁授權呢?要先通過申請高級接口功能
申請通過後,還要做壹個授權頁面,引導用戶授權就能獲得openid!
應該不需要
怎樣獲取用戶的openid獲取微信用戶的openid目前有兩種方法: 壹是先回復壹條圖文消息,將用戶的openid帶在鏈接上,然後用戶通過點擊圖文消息的鏈接打開最終的頁面,這麽做用戶體驗非常非常不好,而且每個菜單都得這麽幹; 二是調用服務號的高級接口,可是我們大部分
如何獲取微信用戶openid妳好。 根據妳的描述,想要通過js獲取微信用戶的openid 妳的公眾號必須必須通過微信認證(付錢的那個,300元每年)才可以,這樣在高級開發模式裏面會有接口給妳實現