㈠ 求助,微信內置瀏覽器打開的網頁,獲取微信用戶openid
首先你的網站入口必須是微信服務號(開通認證、擁有獲取用戶openid許可權;訂閱號是不行的)。
網頁通過微信的Oauth2認證鏈接。
然後通過服務號菜單鏈接進入網站,如: https://open.weixin.qq.com/connect/oauth2/authorize?appid=YOURAPPID&redirect_uri=http://YOUWEBSITE/oauth2.php&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
自己根據微信提供的oauth2介面文檔,編寫oauth2.php內容,(網上有相關官方SDK)
按下面的步驟:
1.獲取用戶openid
2.獲取accesson_token
3.獲取用戶信息
4.授權注冊用戶,若已存在該用戶則直接進入網站。
㈡ 微信公眾平台開發,oauth2.0認證地址,打開jssdk頁面無法驗證通過
給你個PHP的例子:
下面的代碼保存為get_sdkper.php
<?php
require_once "jssdk.php";
//1.注意:所有的JS介面只能在公眾號綁定的域名下調用,公眾號開發者需要先登錄微信公眾平台進入「公眾號設置」的「功能設置」里填寫「JS介面安全域名」。
//2.填寫appid和secret
$appid="你的appid";
$secret="你的secret";
$getUrl=$_POST["url"];
$jssdk = new JSSDK($appid, $secret,$getUrl);
$signPackage = $jssdk->GetSignPackage();
echo("{\"appId\":\"".$signPackage["appId"]."\",\"timestamp\":\"".$signPackage["timestamp"]."\",\"nonceStr\":\"".$signPackage["nonceStr"]."\",\"signature\":\"".$signPackage["signature"]."\",\"url\":\"".$signPackage["url"]."\"}");
?>
下面是調用方法:
//調用微信JS API介面
var GetappId="",Gettimestamp="",GetnonceStr="",Getsignature="";
function CallWechatJSAPI()
{
$.ajax({
url:"get_sdkper.php",
type:"POST",
data:"url="+escape(location.href.split('#')[0]),
dataType:"JSON",
success:function(result){
var resultData = $.evalJSON(result);
if(resultData){
GetappId = resultData.appId;
Gettimestamp = resultData.timestamp;
GetnonceStr = resultData.nonceStr;
Getsignature = resultData.signature;
wx.config({
debug: false,
appId: GetappId,
timestamp: Gettimestamp,
nonceStr: GetnonceStr,
signature: Getsignature,
jsApiList: [
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareQQ',
'onMenuShareWeibo',
'hideMenuItems',
'hideAllNonBaseMenuItem',
'chooseImage',
'previewImage',
'uploadImage',
'downloadImage',
'getNetworkType',
'openLocation',
'getLocation',
'hideOptionMenu',
'closeWindow',
'scanQRCode',
'chooseWXPay',
'openProctSpecificView',
'addCard',
'chooseCard',
'openCard'
]
});
}
},
error:function(){
//alert("連接網路失敗,請重試。");
}
});
}
㈢ 如何用瀏覽器模擬微信瀏覽器訪問需要OAuth2.0網頁授權的頁面
有以下限制,
1.必須在微信打開
2.微信頁面授權
其中第一步比較容易實現,修改下ua(user-agent),讓其攜帶「MicroMessenger」欄位即可。
第二部則是由於微信瀏覽器內置一些js庫,在其他瀏覽器是無內置的,所以在chrome網頁授權基本是無效的。不過可以用其他辦法略過授權。
解決方案:1、是偽裝微信瀏覽器,使其繞過微信驗證,2、獲取cookie,跳過授權驗證。
2、 准備工具
1.chrome,主要是用於修改user-agent.
2.fiddler抓包工具(安裝正式抓取https包)
一,修改UA
打開Chrome瀏覽器,按下F12進入手機調試模式
選擇Edit
點擊Add custom device
輸入ua,UA通過fiddler抓包獲取
我的 User-Agent是: Mozilla/5.0 (Linux; Android 6.0; vivo Y67A Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043508 Safari/537.36 MicroMessenger/6.5.13.1100 NetType/WIFI Language/zh_CN
可以直接使用這個UA,也可以抓取自己的ua
第二步,添加cookie
fiddler抓取cookie
在console下面輸入 document.cookie=「(cookie通過抓包獲取)」,後回車
打開Chrome可以看到,我添加的cookie成功
chrome打開地址,不會報錯啦
㈣ 微博oauth2怎麼獲得用戶的資料 php
使用Userinfo(用戶信息型),訪問時會彈出授權頁面,
同意後微信公眾賬號可以獲取用戶其它信息,比如昵稱、頭像、性別、省份等等
具體操作可以看泰牛程序員的微信開發課程裡面說的,跟著代碼敲,不難的
㈤ 緊急求助,微信設置「開發者中心」的 OAuth2.0網頁授權設置
1.OAuth 2.0網頁授權有兩種模式:
(1)
Base(基本型),用戶可直接通過鏈接訪問,相應的微信公眾賬號只能獲取用戶的openid,無法獲取到其它信息。
(2) Userinfo(用戶信息型),訪問時會彈出授權頁面,同意後微信公眾賬號可以獲取用戶其它信息,比如昵稱、頭像、性別、省份等等。
具體的設置方法,你可以按照韓順平的PHP微信開發課程來設置
㈥ 緊急求助,微信設置「開發者中心」的 OAuth2.0網頁授權設置
要在微信中使用OAuth2.0 ,首先需要在微信公眾後台配置授權回調域名,配置注意事項請參考公眾平台介面詳細說明,配置成功後,我們就可以通過請求授權頁面,直到授權後重定向到回調地址。
如何構造請求方式就不解釋了,公眾平台有詳細介紹,我在這里主要介紹一下如果通過回調方法獲取相關參數,如OpenID,State等參數。
直接貼代碼:
public ActionResult WXBind()
{
string sUrl = "/oauth2/access_token?appid=" + ViewUtil.WXappID + "&secret=" + ViewUtil.WXappsecret + "&code=" + Request["code"] + "&grant_type=authorization_code";
WebClient webClient = new WebClient();
Byte[] bytes = webClient.DownloadData(sUrl);
string result = Encoding.GetEncoding("utf-8").GetString(bytes);
JSONObject obj = JSONConvert.DeserializeObject(result);
string sParam = Request["state"];
string sRedictUrl = "";
switch (sParam)
{
case "myorder":
sRedictUrl = "/Account/Order?OpenID=" + obj["openid"] +"&Param=order";
break;
case "book":
sRedictUrl = "/Book/WXHotels";
break;
default:
sRedictUrl = "/Account/Index?OpenID={0}" + obj["openid"];
break;
}
Response.Redirect(sRedictUrl);
return View();
}
㈦ 微信如何設置開發者中心的 「OAuth2.0」網頁授權
需要在微信公眾後台配置授權回調域名,配置注意事項請參考公眾平台介面詳細說明,配置成功後,可以通過請求授權頁面,直到授權後重定向到回調地址。
具體操作:粘貼如下代碼:
public ActionResult WXBind()
{
string sUrl = "/oauth2/access_token?appid=" + ViewUtil.WXappID + "&secret=" + ViewUtil.WXappsecret + "&code=" + Request["code"] + "&grant_type=authorization_code";
WebClient webClient = new WebClient();
Byte[] bytes = webClient.DownloadData(sUrl);
string result = Encoding.GetEncoding("utf-8").GetString(bytes);
JSONObject obj = JSONConvert.DeserializeObject(result);
string sParam = Request["state"];
string sRedictUrl = "";
switch (sParam)
{
case "myorder":
sRedictUrl = "/Account/Order?OpenID=" + obj["openid"] +"&Param=order";
break;
case "book":
sRedictUrl = "/Book/WXHotels";break;
default:
sRedictUrl = "/Account/Index?OpenID={0}" + obj["openid"];
break;
}
Response.Redirect(sRedictUrl);
return View();
}
㈧ 微信公眾賬號OAuth2.0(asp.net) 如何獲得Openid
微信公眾賬號OAuth2.0(asp.net) 獲得Openid的方法:
1 請求地址
移動應用:https://graph.qq.com/oauth2.0/me
WAP網站:https://graph.z.qq.com/moc2/me
2 請求方法
GET
3 請求參數
請求參數請包含如下內容:
參數
是否必須
含義
access_token 必須 在Step1中獲取到的access token。
4 返回說明
PC網站接入時,獲取到用戶OpenID,返回包如下:
callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} );
WAP網站接入時,返回如下字元串:
client_id=100222222&openid=1704************************878C
openid是此網站上唯一對應用戶身份的標識,網站可將此ID進行存儲便於用戶下次登錄時辨識其身份,或將其與用戶在網站上的原有賬號進行綁定。
5 錯誤碼說明
介面調用有錯誤時,會返回code和msg欄位,以url參數對的形式返回,value部分會進行url編碼(UTF-8)。
WAP網站接入時,錯誤碼詳細信息請參見:9000-9999:根據Access Token獲得對應用戶身份的openid時,發生錯誤。