微信公眾平台開發網頁獲取使用者地理位置

2021-07-16 04:44:00 字數 2694 閱讀 8758

本文分為以下二個部分:

生成js-sdk許可權驗證簽名

使用地理位置介面獲取座標

參考以下文件獲取access_token(有效期7200秒,開發者必須在自己的服務全域性快取access_token):

用第一步拿到的access_token 採用http get方式請求獲得jsapi_ticket(有效期7200秒,開發者必須在自己的服務全域性快取jsapi_ticket),介面位址如下

成功返回如下json:

獲得jsapi_ticket之後,就可以生成js-sdk許可權驗證的簽名了。

簽名生成規則如下:參與簽名的字段包括noncestr(隨機字串), 有效的jsapi_ticket, timestamp(時間戳), url(當前網頁的url,不包含#及其後面部分) 。對所有待簽名引數按照欄位名的ascii 碼從小到大排序(字典序)後,使用url鍵值對的格式(即key1=value1&key2=value2…)拼接成字串string1。這裡需要注意的是所有引數名均為小寫字元。對string1作sha1加密,欄位名和字段值都採用原始值,不進行url 轉義。

即signature=sha1(string1)。 示例:

步驟1. 對所有待簽名引數按照欄位名的ascii 碼從小到大排序(字典序)後,使用url鍵值對的格式(即key1=value1&key2=value2…)拼接成字串string1:

步驟2. 對string1進行sha1簽名,得到signature:

0f9de62fce790f9a083d5c99e95740ceb90c27ed
完整**如下

在需要呼叫js介面的頁面引入如下js檔案,(支援https):

<

script

src=""

>

script

>

所有需要使用js-sdk的頁面必須先注入配置資訊,否則將無法呼叫。

wx.config();
地理位置需要在頁面載入時就呼叫,需要把相關介面放在ready函式中呼叫來確保正確執行

wx.ready(function

() );

5.1 通過checkjsapi判斷當前客戶端版本是否支援指定獲取地理位置

wx.checkjsapi(

}});

5.2. 使用getlocation介面獲取地理位置座標

wx.getlocation(,

cancel:

function

(res)

});

彈出請求獲取頁面

js成功獲取地理位置引數

微信公眾平台獲取使用者資訊

引導使用者進入授權頁面同意授權,獲取code 通過code換取網頁授權access token 與基礎支援中的access token不同 如果需要,開發者可以重新整理網頁授權access token,避免過期 通過網頁授權access token和openid獲取使用者基本資訊 獲取code的介面...

微信公眾平台 獲取使用者openid

第一步 理解邏輯。1 獲取openid的邏輯 則可以獲得json型別的返回資料,其中就有我們需要的openidurl1 string url redirect uri redirect uri response type code scope snsapi base state state wech...

微信公眾平台 獲取使用者openid

第一步 理解邏輯。1 獲取openid的邏輯 則可以獲得json型別的返回資料,其中就有我們需要的openidurl1 string url redirect uri redirect uri response type code scope snsapi base state state wech...