-
當前位置:首頁 > 創(chuàng)意學院 > 短視頻 > 專題列表 > 正文
如何獲取openid(如何獲取openid 端口是多少)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于如何獲取openid的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
如需咨詢小紅書相關業(yè)務請撥打175-8598-2043,或微信:1454722008
本文目錄:
一、微信獲取code及openid
wx.getUserProfile({
desc:'獲取用戶信息',
success(res) {
wx.login({
success(response) {
//獲取到code
console.log(response.code)
/** 用appid,appsecret通過wx.request方法可獲取openid **/
var appid = ' ';
var secret = ' ';
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session?appid='+appid+'&secret='+secret+'&grant_type=authorization_code&js_code=' + loginCode.code,
header: {
'content-type': 'application/json'
},
success: function (response) {
console.log(response)
console.log(response.data.openid) //獲取openid
}
})
}
})
}
})
二、H5頁面靜默授權獲取微信openid
前幾天和業(yè)務談需求的時候提到了要在微信公眾號里面做一個申請頁面A。當時我對微信的了解還不是很多,只知道公眾號上原來已經(jīng)做了一個其他功能的頁面B,B頁面可以獲取到客戶微信的openid。
當時我們業(yè)務同事說只有B頁面可以拿到openid,其他的頁面都拿不到,所以這個正在談的A頁面入口要做在已有頁面B上,然后通過B獲取openid之后再傳給A。我當時因為不懂也只能聽他說,畢竟那個同事說的好像很確定的樣子。
事后我仔細想了想,頁面B也就是個普通的html呀,憑什么就B頁面能獲取客戶的openid呢?肯定有方法的!于是我就上網(wǎng)搜了一下,最后成功獲取了自己的openid,下面介紹下方法吧。
首先,你要有個微信公眾號,并且要獲得這個接口的權限
點修改之后,在功能設置的“網(wǎng)頁授權域名”處添加可以獲取微信openid的域名,也就是你自己公眾號里面需要獲取openid網(wǎng)頁的域名。
做完上面這些之后,其實已經(jīng)可以實現(xiàn)我們想要的效果了,這里因為我不是要做一個完整的功能,我只是想試驗下html的頁面怎么獲取openid,所以過程比較簡陋。
這里是微信官方的網(wǎng)頁授權方法:
其實看起來微信的說明有那么一大段,但核心的內容也就那么一點點,總結下來就是:先拿到code,再用code去換取網(wǎng)頁授權access_token。
因為重定向的url要urlEncode,所以這里我用另一個網(wǎng)站把我要訪問的url轉換了一下,網(wǎng)址如下:
在微信瀏覽器里面輸入下面的url,appid、redirect_uri改成自己的,其他的都可以不用改。
靜默授權:scope=snsapi_base
非靜默授權:scope=snsapi_userinfo
一般在微信中是看不到url也沒辦法輸入url的,所以這里我是用微信開發(fā)者工具調試的。
輸入完靜默授權的url后,url自動跳轉成有code的,這個code只有5分鐘有效期。
同樣的,獲取openid也就是在微信瀏覽器中執(zhí)行一下下面這個url就可以了。appid,secret換成自己的,code用上面一步獲取的,其他的都不用改。
運行完后的結果就顯示在左邊這個圖里啦,你看,openid不就拿到了嗎。
我沒嘗試非靜默授權的,不過我想應該也差不多吧。這里也不是一套完整的方案告訴大家怎么把這個部署到前端和后端自動獲取openid。我只是想分享一下我試驗的經(jīng)歷。
三、如何獲取查看用戶的openid
獲取用戶OpenID
本步驟的作用:
通過輸入在上一步獲取的Access Token,得到對應用戶身份的OpenID。
OpenID是此網(wǎng)站上或應用中唯一對應用戶身份的標識,網(wǎng)站或應用可將此ID進行存儲,便于用戶下次登錄時辨識其身份,或將其與用戶在網(wǎng)站上或應用中的原有賬號進行綁定。
本步驟在整個流程中的位置:
目錄
上一步
1 請求地址
2 請求方法
3 請求參數(shù)
4 返回說明
5 錯誤碼說明
下一步
上一步
請參見使用Implicit_Grant方式獲取Access_Token
1 請求地址
移動應用:
WAP網(wǎng)站:
2 請求方法
GET
3 請求參數(shù)
請求參數(shù)請包含如下內容:
參數(shù)
是否必須
含義
access_token 必須 在Step1中獲取到的access token。
4 返回說明
PC網(wǎng)站接入時,獲取到用戶OpenID,返回包如下:
callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} );
WAP網(wǎng)站接入時,返回如下字符串:
client_id=100222222&openid=1704************************878C
openid是此網(wǎng)站上唯一對應用戶身份的標識,網(wǎng)站可將此ID進行存儲便于用戶下次登錄時辨識其身份,或將其與用戶在網(wǎng)站上的原有賬號進行綁定。
5 錯誤碼說明
接口調用有錯誤時,會返回code和msg字段,以url參數(shù)對的形式返回,value部分會進行url編碼(UTF-8)。
WAP網(wǎng)站接入時,錯誤碼詳細信息請參見:9000-9999:根據(jù)Access Token獲得對應用戶身份的openid時,發(fā)生錯誤。
下一步
OpenAPI調用說明
希望可以幫到您,謝謝!
四、微信網(wǎng)頁如何獲取當前訪問用戶的OpenID?
獲取微信用戶的openid的方法如下:
1、先回復一條圖文消息,將用戶的openid帶在鏈接上,然后用戶通過點擊圖文消息的鏈接打開最終的頁面,這么做用戶體驗非常非常不好,
2、調用服務號的高級接口,可是我們大部分都是用訂閱號,訂閱號只能通過圖文或文本消息打開網(wǎng)頁,自己傳用戶的openid。
獲取ID需要注意的問題:
1、發(fā)圖文塊的時候,要發(fā)兩條信息,單條是可以被轉發(fā)的,兩條的話,用戶就無法轉發(fā),只能刪除了。避免用戶將自己的OpenID泄露。
2、用戶點擊圖文塊的那張頁面進去后,要隱藏右上角的分享圖標。
3、要判斷瀏覽器的UserAgent是否來自于MicroMessage。
4、如果目標頁面需要分享,要構造一個Form表單,用POST的方式將OpenID傳過去。
5、實際項目經(jīng)驗中,需要對傳來的參數(shù)拼在一起,做一下SHA1簽名認證。
6、服務器能用SSL,就盡量用SSL。
以上就是關于如何獲取openid相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內容。
推薦閱讀:
如何申報個人專利流程與費用(如何申報個人專利流程與費用明細)
景觀設計主創(chuàng)簡歷范文(景觀設計主創(chuàng)簡歷范文模板)