微信 網頁授權獲取使用者基本資訊 (一)
第一步:使用者同意授權,獲取code
1、以snsapi_base為scope發起的網頁授權,是用來獲取進入頁面的使用者的openid的,並且是靜默授權並自動跳轉到回撥頁的。使用者感知的就是直接進入了回撥頁(往往是業務頁面)
2、以snsapi_userinfo為scope發起的網頁授權,是用來獲取使用者的基本資訊的。但這種授權需要使用者手動同意,並且由於使用者同意過,所以無須關注,就可在授權後獲取該使用者的基本資訊。
public String getCode(HttpServletRequest request){ String redirect_uri=loadurl; // String oauth2Url = // "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+Constants.appid+"&redirect_uri="+redirect_uri+ // "&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect "; String oauth2Url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+Constants.appid+"&redirect_uri="+redirect_uri+ "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect "; return "redirect:" + oauth2Url; }
code說明 :
code作為換取access_token的票據,每次使用者授權帶上的code將不一樣,code只能使用一次,5分鐘未被使用自動過期。
第二步:通過code換取網頁授權access_token
public JSONObject getHtmlAccessToken(HttpServletRequest request){ String code=request.getParameter("code"); JSONObject jsonObject =WXMethodUtil.html_access("你的appid", "你的secret", code); return jsonObject; } //WXMethodUtil.html_access 的方法 public static JSONObject html_access(String appid,String secret,String code){ String access_token_url=" https://api.weixin.qq.com/sns/oauth2/access_token?appid="+"你的appid"+"&secret="+"你的secret"+"&code="+code+"&grant_type=authorization_code"; JSONObject jsonObject = HttpClientUtil.httpRequest(access_token_url, EnumMethod.GET.name(), null); return jsonObject; }
/*** * * @author yuki_ho * */ public class WXMethodUtil { private static final Logger logger = Logger.getLogger(WXMethodUtil.class); public static JSONObject html_access(String appid,String secret,String code){ String access_token_url=" https://api.weixin.qq.com/sns/oauth2/access_token?appid="+appid+"&secret="+secret+"&code="+code+"&grant_type=authorization_code"; JSONObject jsonObject = HttpClientUtil.httpRequest(access_token_url, EnumMethod.GET.name(), null); return jsonObject; } public static JSONObject html_userInfo_url(String access_token,String openid){ String userInfo_url="https://api.weixin.qq.com/sns/userinfo?access_token="+access_token+"&openid="+openid+"&lang=zh_CN "; JSONObject jsonObject2 = HttpClientUtil.httpRequest(userInfo_url, EnumMethod.GET.name(), null); return jsonObject2; } }
返回說明
正確時返回的JSON資料包如下:
{ "access_token":"ACCESS_TOKEN", "expires_in":7200, "refresh_token":"REFRESH_TOKEN", "openid":"OPENID", "scope":"SCOPE" }第三步:拉去使用者資訊(需ocope為 snsapi_userinfo)
public JSONObject getWXuserInfo(JSONObject jsonObject){
String access_token=jsonObject.get("access_token").toString();
String openid=jsonObject.get("openid").toString();
JSONObject jsonObject2 =WXMethodUtil.html_userInfo_url(access_token, openid);
return jsonObject2;
}
返回說明
正確時返回的JSON資料包如下:
幫助類:HttpClientUtil 連線
參考:連線
相關推薦
微信 網頁授權獲取使用者基本資訊 (一)
程式實現如下 第一步:使用者同意授權,獲取code 1、以snsapi_base為scope發起的網頁授權,是用來獲取進入頁面的使用者的openid的,並且是靜默授權並自動跳轉到回撥頁的。使用者感知的就是直接進入了回撥頁(往往是業務頁面) 2、以snsapi_userin
微信網頁授權獲取使用者基本資訊
如果使用者在微信客戶端中訪問第三方網頁,公眾號可以通過微信網頁授權機制,來獲取使用者基本資訊,但這種授權需要使用者手動同意,並且由於使用者同意過,所以無須關注,就可在授權後獲取該使用者的基本資訊。 網
微信網頁授權獲取使用者基本資訊--PHP
現在就說說怎麼通過網頁授權獲取使用者基本資訊(國家,省,市,暱稱)等。 必要條件: 1)公眾號認證 2)有網頁授權獲取使用者基本資訊的許可權介面 注意:最近有朋友說:在公眾平臺申請的測試號,會出現無法取到使用者資訊。換到認證的公眾賬號就正常了! &n
微信公眾號開發之微信網頁授權獲取使用者個人資訊
說明:該篇部落格是博主一字一碼編寫的,實屬不易,請尊重原創,謝謝大家! 一丶概述 微信網頁授權 如果使用者在微信客戶端中訪問第三方網頁,公眾號可以通過微信網頁授權機制,來獲取使用者基本資訊,進而實現業務邏輯。 現在,我們要實現一個微信內網頁,通過微信訪問網頁時,網頁
微信公眾平臺開發 OAuth2.0網頁授權認證 網頁授權獲取使用者基本資訊
一、什麼是OAuth2.0 官方網站:http://oauth.net/ http://oauth.net/2/ 權威定義:OAuth is An open protocol to allow secure authorization in a simple and
微信公眾平臺開發 網頁授權獲取使用者基本資訊
如果使用者在微信中(Web微信除外)訪問公眾號的第三方網頁,公眾號開發者可以通過此介面獲取當前使用者基本資訊(包括暱稱、性別、城市、國家)。利用使用者資訊,可以實現體驗優化、使用者來源統計、帳號繫結、使用者身份鑑權等功能。請注意,“獲取使用者基本資訊介面是在使用者和公眾號產生訊息互動時,才能根據使用者Ope
第八篇 :微信公眾平臺開發實戰Java版之如何網頁授權獲取使用者基本資訊
第一部分:微信授權獲取基本資訊的介紹 我們首先來看看官方的文件怎麼說: 如果使用者在微信客戶端中訪問第三方網頁,公眾號可以通過微信網頁授權機制,來獲取使用者基本資訊,進而實現業務邏輯。 關於網頁授權回撥域名的說明 1、在微信公眾號請求使用者網頁授權之前,開發者需要先到公眾平臺官網中的開發者中心頁配置授權
微信開發--網頁授權獲取使用者基本資訊
功能:主要用於在使用者通過手機端微信訪問第三方H5頁面時獲取使用者的身份資訊(openId,暱稱,頭像,所在地等。。)可用來實現微信登入、微信賬號繫結、使用者身份鑑權等功能。 開發前的準備: 1、需要有一個公眾號,拿到AppID和AppSecret; 2、進入公眾
PHP 微信網頁授權獲取使用者資訊
class WxController extends Controller { //put your code here /** * 微信授權相關介面
Java微信網頁授權獲取使用者資訊 微信分享
1. 微信授權獲取使用者資訊 1. 網頁連結 javascript: var redirectUrl = window.location.protocol + "//" + window.location.host + "/web/share/index.h
java微信網頁授權獲取使用者資訊以及JSSDK自定義分享等功能
<span style="font-size:18px;color:#ff0000;background-color: rgb(255, 255, 255);">一個超級重要的類,簽名類忘記發源碼了:</span><pre name="code
微信網頁授權—獲取使用者資訊
開發前必讀 關於網頁授權回撥域名的說明 1、在微信公眾號請求使用者網頁授權之前,開發者需要先到公眾平臺官網中的“開發 - 介面許可權 - 網頁服務 - 網頁帳號 - 網頁授權獲取使用者基本資訊”的配置選項中,修改授權回撥域名。請注意,這裡填寫的是域名(是一個
微信網頁授權獲取使用者資訊 返回{"errcode":40066,"errmsg":"invalid url hint: [FZbxRA0556sz12!]"}錯誤
微信網頁授權獲取使用者資訊配置都對,但是返回:{"errcode":40066,"errmsg":"invalid url hint: [FZbxRA0556sz12!]"}這個錯誤。 這個問題困擾我
微信網頁授權獲取使用者資訊(ThinkPHP5)+ 微信傳送客服訊息(一)
開發十年,就只剩下這套架構體系了! >>>
微信網頁授權獲取用戶信息等機制
json 開發者 userinfo 技術分享 nal amp 分隔 response unionid 參考官方文檔 https://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 1.用戶進入授權
微信網頁授權——獲取code、access_token、openid,及跨域問題解決
首先在微信開發文件中有提到微信網頁授權的操作步驟: 第一步:使用者同意授權,獲取code 在確保微信公眾賬號擁有授權作用域(scope引數)的許可權的前提下(服務號獲得高階介面後,預設擁有scope引數中的snsapi_base和snsapi_userinfo),引導關注者開啟如下頁面:
微信網頁授權獲取code
<script> (function(){ var code = GetQueryString('code'); if(code){ alert(code) return false; }else{ shouquan(); } function shouquan(){ var redi
java對接微信公眾號獲取使用者基本資訊
package com.xcd.zc.controller; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingExc
微信伺服器配置的一點點經驗(內含:驗證伺服器出現token驗證失敗的處理,接收事件出現XML格式錯誤,微信網頁授權獲取 access token 報錯40125)
首先需要多些網上的大神 連結:https://bbs.csdn.net/topics/390991193 ; https://blog.csdn.net/sinat_22878395/article/details/69258165 ; https://blog.csdn.net/hangh
微信網頁授權獲取code值回撥兩次的問題
問題描述:在呼叫微信網頁授權獲取openid值時,先獲取的code值,但是code值的介面 會走兩次回撥。而code在6分鐘內只能用一次,所以處出現code失效的問題,問題顯示錯誤碼:{‘errcode’:40029,’errmsg’:’invalid code, hints: [ req_id: 0407n