1. 程式人生 > >微信 網頁授權獲取使用者基本資訊 (一)

微信 網頁授權獲取使用者基本資訊 (一)

程式實現如下

第一步:使用者同意授權,獲取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