pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

微信開發之獲取JSAPI TICKET

這篇文章主要為大家詳細介紹了微信開發之獲取JSAPI_TICKET的相關方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、獲取流程

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

/**
 * [getAccessToken description] 獲取access_token
 * @return [type] [description] */private function getAccessToken() {
  $data = $this->getFile($this->accessTokenFile);  if(time() - $data['time'] > 0){
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appID}&secret={$this->appsecret}";
    $re = $this->httpGet($url);
    $access_token = $re['access_token'];    
    if(isset($access_token)){
      $data['access_token'] = $access_token;
      $data['time'] = time() + 7200;
      $this->setFile($this->accessTokenFile,json_encode($data));
    }
  }else{
    $access_token = $data['access_token'];
  }  return $access_token;
}

access_token 的有效時間是7200s,故可以采用文件存儲的方法進行保存,避免多次請求;

2、獲取jsapi_ticket

/**
 * [getJsapiTicket description] 獲取jsapi_ticket
 * @return [type] [description] */private function getJsapiTicket() {
  $access_token = $this->getAccessToken();
  $jsapi_ticket = $this->getFile($this->jsapiTicketFile);  if(time() - $jsapi_ticket['time'] > 0) {
    $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={$access_token}&type=jsapi";
    $re = $this->httpGet($url);
    $this->preArr($re);
    $jsapi_ticket = $re['ticket'];    
    if(isset($jsapi_ticket)){
      $data['jsapi_ticket'] = $jsapi_ticket;
      $data['time'] = time() + 7200;
      $this->setFile($this->jsapiTicketFile, json_encode($data));
    }
  }else{
    $jsapi_ticket = $jsapi_ticket['jsapi_ticket'];
  }  return $jsapi_ticket;
}

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

3、生成簽名

/**
 * [getSignpackage description] 獲取簽名
 * @return [type] [description] */public function getSignpackage(){
  $jsapi_ticket = $this->getJsapiTicket();  // 注意 URL 一定要動態獲取,不能 hardcode.
  $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
  $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  $noncestr = $this->createNonceStr();
  $timestamp = time();

  $string1 = "jsapi_ticket={$jsapi_ticket}&noncestr={$noncestr}×tamp={$timestamp}&url={$url}";
  $signature = sha1($string1);  
  $signPackage = array(    
    'appId'   => $this->appID,    
    '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.出于安全考慮,開發者必須在服務器端實現簽名的邏輯。

 詳情參考:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

本篇內容主要給大家詳細分析了用PHP制作微信網頁來獲取用戶基本信息的過程,以及步驟講解。
這篇文章主要介紹了PHP微信企業號開發之回調模式開啟與用法,結合具體實例形式分析了php微信企業號回調模式開啟與使用方法相關操作技巧,代碼中備有詳盡的注釋說明便于讀者理解,需
這篇文章主要介紹了PHP開發實現微信退款功能的方法,涉及php針對微信接口的相關調用操作技巧,需要的朋友可以參考下
給大家分析一下如何用PHP寫出采集微信公眾號文章的方法以及代碼詳細講解,需要的朋友學習一下。
給大家講解了微信公眾號文章采集的入口歷史消息頁信息獲取方法,有需要的朋友參考一下本內容。
這篇文章主要介紹了PHP memcache在微信公眾平臺的應用方法,結合具體實例形式分析了php使用memcache保存用戶訪問記錄與響應用戶訪問并給出提示信息的交互模式實現技巧,需要的朋友可以參
主站蜘蛛池模板: 螺旋绞龙叶片,螺旋输送机厂家,山东螺旋输送机-淄博长江机械制造有限公司 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 匀胶机旋涂仪-声扫显微镜-工业水浸超声-安赛斯(北京)科技有限公司 | 不锈钢螺丝,不锈钢螺栓,不锈钢标准件-江苏百德特种合金有限公司 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 耐压仪-高压耐压仪|徐吉电气| 沈阳网站建设_沈阳网站制作_沈阳网页设计-做网站就找示剑新零售 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 滚珠丝杆升降机_螺旋升降机_丝杠升降机-德迈传动 | 玄米影院| 短信营销平台_短信群发平台_106短信发送平台-河南路尚 | 便携式谷丙转氨酶检测仪|华图生物科技百科 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 深圳公司注册-工商注册公司-千百顺代理记账公司 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 口信网(kousing.com) - 行业资讯_行业展会_行业培训_行业资料 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 挤出机_橡胶挤出机_塑料挤出机_胶片冷却机-河北伟源橡塑设备有限公司 | 驾驶式洗地机/扫地机_全自动洗地机_工业洗地机_荣事达工厂官网 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 玖容气动液压设备有限公司-气液增压缸_压力机_增压机_铆接机_增压器 | IP检测-检测您的IP质量 | 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 针焰试验仪,灼热丝试验仪,漏电起痕试验仪,水平垂直燃烧试验仪 - 苏州亚诺天下仪器有限公司 | 有机废气处理-rto焚烧炉-催化燃烧设备-VOC冷凝回收装置-三梯环境 | 楼梯定制_楼梯设计施工厂家_楼梯扶手安装制作-北京凌步楼梯 | 真空搅拌机-行星搅拌机-双行星动力混合机-广州市番禺区源创化工设备厂 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 江苏南京多语种翻译-专业翻译公司报价-正规商务翻译机构-南京华彦翻译服务有限公司 | EPK超声波测厚仪,德国EPK测厚仪维修-上海树信仪器仪表有限公司 | 盘式曝气器-微孔曝气器-管式曝气器-曝气盘-斜管填料 | 郑州市前程水处理有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 路斯特伺服驱动器维修,伦茨伺服驱动器维修|万骏自动化百科 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 福兰德PVC地板|PVC塑胶地板|PVC运动地板|PVC商用地板-中国弹性地板系统专业解决方案领先供应商! 福建成考网-福建成人高考网 | 数显水浴恒温振荡器-分液漏斗萃取振荡器-常州市凯航仪器有限公司 | 医学动画公司-制作3d医学动画视频-医疗医学演示动画制作-医学三维动画制作公司 | 四川职高信息网-初高中、大专、职业技术学校招生信息网 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! |