1. 程式人生 > >java二次開發微信公眾號授權

java二次開發微信公眾號授權

這篇文章我想記錄一下微信服務號二次開發怎麼進行授權登入獲取使用者資訊的。我用流程化的方式來闡述一下怎麼實現微信授權取使用者資訊。

第一:
我們要取得微信授權,加入我們是從選單欄點選某一個連線選單進行實現的。所以此時我們選單的連線就必須是: 當然如果你選擇靜默授權,那scope就變成snsapi_base。當你單擊這個選單的時候,就會進行授權第一次訪問。這個訪問會返回一個code,它會和state的值一起作為引數傳給你的重定向地址redirect_uri,而這個重定向url是必須經過url encode轉換的

第二:

在你的重定向uri這邊的介面你就必須取出code的值,然後回撥微信的

介面,這個介面可以返回特殊的access_token,它是針對使用者授權的access_token, 跟我們上傳檔案或者建立選單的accessToken是有所區別的。如果正常呼叫會返回這樣資料格式的資料:
{
   "access_token":"ACCESS_TOKEN",
   "expires_in":7200,
   "refresh_token":"REFRESH_TOKEN",
   "openid":"OPENID",
   "scope":"SCOPE",
   "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

 
第三:

你拿著accesstoken的值還有針對使用者的唯一標識openid就可以獲取使用者資訊,然後你在這個介面中在通過get請求獲取使用者資訊,訪問地址為

取到使用者資料後就可以在這個介面中直接跳轉到你的app,然後直接靜默登入,或者顯示使用者資訊。實現免登入。

其中還涉及到一個重新重新整理accesstoken的操作,那是因為這個特殊的accesstoken是有時間顯示,第一次的時間較短,再次重新整理的時間可以更長。下面我把我接受授權的那個回撥介面程式碼貼出來。當然你那個redirect_uri就要指向這個介面

	
	@RequestMapping(value="/cardniu/mystore",method=RequestMethod.GET)
	public String gotoMyShop(HttpServletRequest request,Model model){
		log.info("=============進入授權回撥介面=========");
		WeixinUtil weixinUtil = new WeixinUtil();
		String tempCode = request.getParameter("code");
		log.info("==========返回回來的code: "+tempCode+"==========");
			UserAccessToken userAccesssToken=weixinUtil.getUserAccessToken(tempCode);
			OpenUser userInfo = weixinUtil.getOpenUserInfo(userAccesssToken);
			JSONObject userInfoObject = JSONObject.fromObject(userInfo);
			log.info("=========獲取到的使用者資訊:"+userInfoObject.toString()+"=========");
			model.addAttribute("userInfo", userInfo);	
			model.addAttribute("userToken", userAccesssToken);
			model.addAttribute("code", tempCode);
			return "myStore/myShop";
	}



相關推薦

java發微公眾授權

這篇文章我想記錄一下微信服務號二次開發怎麼進行授權登入獲取使用者資訊的。我用流程化的方式來闡述一下怎麼實現微信授權取使用者資訊。 第一:我們要取得微信授權,加入我們是從選單欄點選某一個連線選單進行實現的。所以此時我們選單的連線就必須是: 當然如果你選擇靜默授權,那sco

java發微公眾)--測試申請、微java程式碼初步互動

一、申請測試號 個人不能夠免費申請服務號,訂閱號有很多限制,介面許可權出來基本的幾乎沒有,如圖, 在微信公眾平臺,檢視介面許可權 那麼怎麼使用服務號的介面許可權呢?微信推出了測試號,交給大家使用,開通的步驟是: 1.在微信平臺頁面,在服務號中,點選開發者文件 2

Java發微公眾)——開發請求校驗程式

開發IDE:MyEclipse或Eclipse或IDEA都可以,我現在用的是MyEclipse。 請求校驗流程分析 上一篇中我們講了微信開發環境的搭建,下面就來寫請求校驗程式的開發,目的是是為了驗證訊息的確來自微信伺服器。 開發者提交資訊後,微信伺服器將傳送GET

Java發微公眾)--授權網頁獲取使用者資訊

參考:微信公眾號開發文件:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432 前提:需要申請認證的微信公眾號;獲取對應的APPID和APPSECRET;並且還需要獲取到使用者資訊

springboot框架發微公眾)之訊息的接受與響應

在開發之前我們要先知道使用者傳送的資訊是先傳送到微信伺服器,微信伺服器在以xml的格式傳送給進行公眾號 開發流程圖 程式碼實現 控制層程式碼 /** * 微信核心控制器(驗證服務號是否合法,以及訊息轉發都需要通過此controller) */ package com.

Java發微公眾(一)——微開發環境搭建

1.開發語言使用Java 2.使用微信介面測試賬號進行本地測試 3.使用natapp(原ngrok)將本地地址對映到外網地址實現微信公眾號的本地除錯 準備工作 最近學習微信公眾平臺的開發,在申請一個微信公眾號的時候,發現如果不是公司或組織只能申請訂閱號(並且是個

java發微公眾,公眾java後臺獲取連線,自動回覆,關注獲取使用者資訊,取消關注刪除使用者資訊

controller:@RequestMapping(method = { RequestMethod.GET })public void gget(HttpServletRequest request, HttpServletResponse response) throw

java發微公眾支付(JSAPI)

https://www.cnblogs.com/gopark/p/9394951.html,這篇文章寫的已經很詳細了。 下面寫一下自己的思路: 1.首先下載demo,地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1 2.de

java發微公眾接受並回復訊息[工程程式碼+圖片全解]

寫這篇部落格時猶豫了好久,因為步驟太多了,上班了也沒時間,但是我依然記得當時實現公眾號自動回覆時的場景,找個案例好 難,也沒有一個完整的案例,想了想還是寫出來吧,希望能讓實現這功能的人少走彎路。 微信公眾號平臺也有自定義回覆訊息,比如我在公眾號裡傳送關注你,

Java發微公眾(一)--微開發環境搭建

原文地址: https://blog.csdn.net/rongxiang111/article/details/78765514 1.開發語言使用Java  2.使用微信介面測試賬號進行本地測試  3.使用natapp(原ngrok)將本地地址對映到外網地址實現微信

java發微公眾支付

String strAttach = "微信支付"; //strAttach = new String(strAttach.getBytes("gbk"),"utf-8"); String strBody = "微信公眾號支付"; //strBody = ne

利用H5發微公眾

enc 兩個 寫入 iss mps rep ast htm chang 一、 首先授權配置 公眾號設置 --》功能設置 設置業務域名! 這裏的MP_verify_w7tdZrafqhkK9Mcj.txt文件,需要放到你項目的根目錄下,例子:你的項目war包叫 tes

vux+vuex+vue+Es6發微公眾的坑

賦值 問題 ack 組件 公眾 rip cor es6 變量 初次開發微信公眾號遇到很多問題,可能是基礎不怎麽牢靠,最近幾天一直在看vue的東西,現在就來慢慢介紹vux和vue這個騷東西的用法: 細看文檔一步步來, npm install vux --save 安裝vux這

大四學長手把手教我們從零開始利用Python發微公眾!已學會

基礎配置 微信公眾 快遞 技術分享 工作 信息 怎麽 test 實現 在一般的使用中,我們可以通過設置關鍵字實現一些基本的自動回復功能,但是這樣的關鍵字回復遠遠不能滿足我們的實際需求,比如我們要實現一個查快遞的功能,必然是要通過調用快遞接口對不同用戶的不同輸

教你如何用node.js發微公眾(一)

內容簡介 本文章簡單介紹瞭如何用node.js開發微信公眾號。主要內容包括signature的驗證,access_token的生成,微信事件的接收,還有各種api的呼叫。 準備工作 開發前需要安裝好node.js,因為我是基於express框架開發的,所以裝了express(框架按自己的需求選擇),需要

Nodejs發微公眾--測試配置篇

微信公眾號感覺入門是真的難啊,受許可權的約束,個人開發者真的挺難走的,特別像博主這種主攻前端的人。由於遲遲沒把域名備案辦下來。先從測試號入手。 申請頁面資訊 開啟測試號申請頁面,可以看到需要填寫的內容。 首先要做的就是介面配置資訊這部分內容了。 內網穿透 一般我

vue發微公眾小技巧(易除錯環境)

本主要對 在開發微信公眾號時,遇到的一些問題進行總結 使用(vue)哦~ 除錯微信公眾號 大家在本地環境開發的時候,修改樣式,及除錯介面一遍又一遍的在微信開發者工具上開啟,因為在我們本地瀏覽器是打不開微信的頁面的,或者每次更改一個細節就發一遍測試環境,非常耗時影響開發,這時~~~~

發微公眾小技巧(微授權跳轉)

出發微信公眾號 先pick一個小技巧 開發過公眾號的朋友們知道流程,在使用者點選登入後,會在url上返回code...等值,這時候要取code值傳給後端同學,然後跳轉到我們的主頁面,大多數的朋友都是這種流程 window.location.href = 'url' // 但是呢,這樣會有

C# ASP.NET 解決方案發微公眾

小重山 · 昨夜寒蛩不住鳴    ___ 宋 · 岳飛         昨夜寒蛩不住鳴。驚回千里夢,已三更。起來獨自繞階行。人悄悄,窗外月朧明。         白首為功名。舊山松竹

springboot框架發微公眾(四)之自定義選單的使用

關於自定義選單,微信為我們提供了幾個介面分別是建立、查詢和刪除。我們平時使用最多的就是建立選單了,往往我們執行了建立選單的程式碼後,選單並不會當即在我們關注過的公眾號上顯示出來,我們可以通過重新關注的方法,來檢視我們建立或更改後的選單。下面就來跟筆者來學一學這些介面的使用方法吧 一、由於這幾個介