使用微信jsapi時獲取jsapi_ticket失敗問題

問題描述

系統上線以後運行良好,昨天下午開始忽然報 「微信jsapi初始化失敗」的錯誤提示 php


排查

一、開啓使用了jsapi的頁面的wx.config的debug,提示signature簽名錯誤 api

二、既然簽名錯誤就一步步打印獲取這個數據的步驟上的中間數據,看是哪一個錯了 微信

三、結果是用php curl模擬get  https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi 這個去獲取jsapi_ticket時報錯400,請求參數錯誤 curl

請求參數錯誤!!!困擾了好久!以前能成功! post

緣由:問題出在ACCESS_TOKEN上,這個token的格式會不會出現特殊字符騰訊沒有說明,而「JSSDK說明文檔」中說用http GET方式請求jsapi_ticket時也沒說明 這個 token中會出現特殊字符!!!
在PHP中沒有對該token進行urlencode,因而當token中有特殊字符時就出現400

url

解決

get和post開放API時,對格式不明的請求參數使用urlencode spa

相關文章
相關標籤/搜索