關於微信開發中獲取jsapi ticket

2021-08-18 13:50:24 字數 3677 閱讀 7742

一、獲取流程

1、獲取 access_token

2、通過access_token換取 jsapi_ticket

3、簽名演算法

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

二、具體實現方式

1、獲取access_token

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

/**

* [getaccesstoken description] 獲取access_token

* @return [type] [description] */privatefunctiongetaccesstoken()

}elsereturn$access_token;

}

access_token 的有效時間是7200s,故可以採用檔案儲存的方法進行儲存,避免多次請求;

2、獲取jsapi_ticket

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

/**

* [getjsapiticket description] 獲取jsapi_ticket

通過access_token進行交換,得到jsapi_ticket,有效期也是7200s;

3、生成簽名

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

/**

* [getsignpackage description] 獲取簽名

* @return [type] [description] */publicfunctiongetsignpackage()&noncestr=×tamp=&url=";

$signature= sha1($string1);

$signpackage=array(

=>$this

'noncestr'=>$noncestr,

'timestamp'=>$timestamp,

'signature'=>$signature,

);

return$signpackage;

}

簽名演算法,

使用url鍵值對的格式(即key1=value1&key2=value2…)拼接成字串string1:

對string1進行sha1簽名,得到signature:

注意事項:

1.簽名用的noncestr和timestamp必須與wx.config中的noncestr和timestamp相同。

2.簽名用的url必須是呼叫js介面頁面的完整url。

3.出於安全考慮,開發者必須在伺服器端實現簽名的邏輯

微信開發中怎樣獲取access token?

公眾平台的api呼叫所需的access token的使用及生成方式說明 2 目前access token的有效期通過返回的expire in來傳達,目前是7200秒之內的值。中控伺服器需要根據這個有效時間提前去重新整理新access token。在重新整理過程中,中控伺服器可對外繼續輸出的老acce...

微信開發,access token定時獲取

openid session userinfo token json decode request url 物件轉為陣列 token object to array token 寫入檔案 txtfilename access token.txt 以讀寫方式打寫指定檔案,如果檔案不存則建立 if tx...

關於微信聊天中的語音開發

首先簽名這個就不需要多說,開始對語音錄製開始進行操作 wx.startrecord fail function res clearinterval voicetime 1000 cancel function 接下來就是停止錄音 wx.stoprecord 介面 wx.stoprecord fail...