国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
一、access_token
二、推送日志
Rumah applet WeChat pembangunan WeChat 微信公眾平臺(tái)開(kāi)發(fā)access_token、日志

微信公眾平臺(tái)開(kāi)發(fā)access_token、日志

Mar 01, 2017 am 10:09 AM
pembangunan WeChat

一、access_token

1)兩種access_token,網(wǎng)頁(yè)授權(quán)access_token和普通access_token

1、微信網(wǎng)頁(yè)授權(quán)是通過(guò)OAuth2.0機(jī)制實(shí)現(xiàn)的,在用戶授權(quán)給公眾號(hào)后,公眾號(hào)可以獲取到一個(gè)網(wǎng)頁(yè)授權(quán)特有的接口調(diào)用憑證(網(wǎng)頁(yè)授權(quán)access_token),通過(guò)網(wǎng)頁(yè)授權(quán)access_token可以進(jìn)行授權(quán)后接口調(diào)用,如獲取用戶基本信息。


2、其他微信接口,需要通過(guò)基礎(chǔ)支持中的“獲取access_token”接口來(lái)獲取到的普通access_token調(diào)用。access_token是公眾號(hào)的全局唯一票據(jù),access_token的有效期目前為2個(gè)小時(shí),需定時(shí)刷新,重復(fù)獲取將導(dǎo)致上次獲取的access_token失效。

?

2)分別獲取access_token

1、網(wǎng)頁(yè)授權(quán)的:點(diǎn)擊查看網(wǎng)頁(yè)授權(quán)獲取用戶基本信息文檔,通過(guò)查看這個(gè)文檔,

可以看到通過(guò)code換取網(wǎng)頁(yè)授權(quán)access_token,而這個(gè)code是通過(guò)微信的一個(gè)授權(quán)鏈接獲取到的,然后再根據(jù)文檔中的請(qǐng)求獲取到的,具體的鏈接地址和參數(shù)可以參考文檔。

/**
?????*?創(chuàng)建一個(gè)需要通過(guò)微信的OAuth2.0認(rèn)證的服務(wù)url
?????*?@param?$url?服務(wù)號(hào)需要認(rèn)證訪問(wèn)的url
?????*?@param?$scope?string?snsapi_userinfo?|?snsapi_base
?????*??????snsapi_userinfo?可以用來(lái)獲取用戶信息
?????*??????snsapi_base?可以用來(lái)獲取openid
?????*?@param?string?$state?自定義狀態(tài)值
?????*??????此處約定為from_weixin代表是從微信認(rèn)證過(guò)來(lái),一般無(wú)需輕易變化
?????*?@return?string?返回認(rèn)證url地址
?????*/
????public?function?createAuthUrl($url,?$scope?=?'snsapi_base',?$state?=?'from_weixin')
????{
????????$url?=?strval($url);
????????$authUrl?=?'https://open.weixin.qq.com/connect/oauth2/authorize';
????????/**
?????????*?此處有大坑,請(qǐng)不要打亂param的順序
?????????*?否則微信認(rèn)證界面會(huì)出現(xiàn)白屏
?????????*/
????????$param?=?array(
????????????????'appid'?=>?$this->appId,
????????????????'redirect_uri'?=>?urlencode($url),
????????????????'response_type'?=>?'code',
????????????????'scope'?=>?$scope,
????????????????'state'?=>?$state
????????);
????
????????$seg?=?array();
????????foreach?($param?as?$k?=>?$v)?{
????????????$seg[]?=?"{$k}={$v}";
????????}
????????return?$authUrl?.?'?'?.?join('&',?$seg)?.?'#wechat_redirect';
????}

?

2、普通的:點(diǎn)擊查看獲取access token文檔,通過(guò)三個(gè)參數(shù)獲取到。

這里需要注意的是,獲取到的token,是有時(shí)效性的,2 個(gè)小時(shí),所以我會(huì)保存在MongoDB中,先從數(shù)據(jù)庫(kù)中比對(duì)超時(shí)了沒(méi)有,沒(méi)有的話就直接從數(shù)據(jù)庫(kù)中獲取,減少不必要的請(qǐng)求。

?

二、推送日志

  在與微信的交互中,會(huì)產(chǎn)生很多日志信息,并且開(kāi)發(fā)的時(shí)候經(jīng)常需要分析這些日志,這里我將日志都保存在了MongoDB中。MongoDB方便的地方是任何結(jié)構(gòu)的數(shù)據(jù)都能放在一個(gè)document中,不像MySQL要定義好字段名,我經(jīng)常調(diào)試的時(shí)候?qū)⒏鞣N結(jié)構(gòu)放在一個(gè)document中。

?

在微信的入口頁(yè)面中,也就是前面提到的URL(服務(wù)器地址),會(huì)在這里面做保存日志的邏輯。邏輯包括關(guān)注的時(shí)候推送一條消息,二維碼掃描關(guān)注,點(diǎn)擊某個(gè)菜單產(chǎn)生事件,點(diǎn)擊菜單的超鏈接等。

日志結(jié)構(gòu)如下:

1、代碼中包括簽名驗(yàn)證邏輯

2、通過(guò)file_get_contents('php://input')來(lái)獲取請(qǐng)求數(shù)據(jù),就是下面的getRawMsg方法

3、將推送日志直接塞入到MongoDB中

4、將接收到的請(qǐng)求信息SimpleXMLElement對(duì)象,就是下面的parseMsg方法

5、handleEventMsg就是在處理各種不同情況了

/**
?????*?微信公眾號(hào)入口
?????*/
????public?function?actionPortal()
????{
????????$weixin?=?new?Weixin();
????????//簽名驗(yàn)證邏輯
//?????????if($weixin->checkSignature()){
//?????????????echo?$_GET['echostr'];
//?????????}
//?????????exit;
????????//讀取原始請(qǐng)求數(shù)據(jù)
????????$msg?=?$weixin->getRawMsg();
????????
????????//推送日志
????????$pushlog?=?new?WeixinPushLog();
????????$pushlog->logWeixinPush($msg);
????????
????????$msgObj?=?$weixin->parseMsg($msg);
????????if?($msgObj?===?false?||?!is_object($msgObj))?{
????????????exit;
????????}
????????switch?($msgObj->MsgType)?{
????????????case?'event'?:?//接收事件消息
????????????????$this->handleEventMsg($msgObj);
????????????????break;
????????????default?:
????????????????//todo
????????????????break;
????????}
????}

public?function?getRawMsg()
????{
????????return?file_get_contents('php://input');
????}

????/**
?????*?解析接收到的消息
?????*?@param?string?$msg?消息體
?????*?@return?bool|SimpleXMLElement
?????*/
????public?function?parseMsg($msg?=?'')
????{
????????if?(!$msg?||?empty($msg))?{
????????????return?false;
????????}
????????$msgObj?=?simplexml_load_string($msg,?'SimpleXMLElement',?LIBXML_NOCDATA);
????????if?($msgObj?===?false?||?!($msgObj?instanceof?\SimpleXMLElement))?{
????????????return?false;
????????}
????????return?$msgObj;
????}

?

6、如果要推送消息,die這個(gè)方法得要加上

7、下面的代碼只列舉了兩種事件情況,一種是訂閱、一種是點(diǎn)擊事件

8、createRawTuWenMsg是在拼接X(jué)ML,點(diǎn)擊查看模板消息接口。

private?function?handleEventMsg($msgObj)
????{
????????$weixin?=?new?Weixin();
????????$openId?=?$msgObj->FromUserName;
????????$fromUserName?=?$msgObj->ToUserName;
????????//未關(guān)注,關(guān)注后推送
????????if?($msgObj->Event?==?'subscribe')?{
????????????$pushData['PicUrl']?=?'http://mmbiz.qpic.cn/';
????????????$pushData['Title']?=?'基因檢測(cè),帶你一起探索生命的奧妙?';
????????????$pushData['Description']?=?'為什么不同人在身高、體重、膚色和形狀上長(zhǎng)得不一樣?但是往往又和自己的父母相似?';
????????????$pushData['Url']?=?'http://mp.weixin.qq.com';
????????????$msg?=?$weixin->createRawTuWenMsg($fromUserName,?$openId,?array($pushData));

????????????die($msg);
????????}elseif($msgObj->Event?==?'CLICK'){
????????????//die($msg);
????????}
????}

public?function?createRawTuWenMsg($fromUserName,?$toUserName,?$items?=?array())
????{
????????if?(!is_array($items))?{
????????????return?'';
????????}
????????$count?=?count($items);
????????$its?=?'';
????????foreach?($items?as?$item)?{
????????????$its?.=?<<<ITEMTPL
<item>
<Title><![CDATA[{$item[&#39;Title&#39;]}]]></Title>
<Description><![CDATA[{$item[&#39;Description&#39;]}]]></Description>
<PicUrl><![CDATA[{$item[&#39;PicUrl&#39;]}]]></PicUrl>
<Url><![CDATA[{$item[&#39;Url&#39;]}]]></Url>
</item>
ITEMTPL;
????????}
????
????????$msg?=?<<<MSG
<xml>
<ToUserName><![CDATA[{$toUserName}]]></ToUserName>
<FromUserName><![CDATA[{$fromUserName}]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>{$count}</ArticleCount>
<Articles>
{$its}
</Articles>
</xml>
MSG;
????return?$msg;
????}

demo下載:

github地址:https://github.com/pwstrick/weixin_demo

CSDN地址:http://download.csdn.net/detail/loneleaf1/9045731

更多微信公眾平臺(tái)開(kāi)發(fā)access_token、日志相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Pembangunan PHP WeChat: Bagaimana untuk melaksanakan penyulitan dan penyahsulitan mesej Pembangunan PHP WeChat: Bagaimana untuk melaksanakan penyulitan dan penyahsulitan mesej May 13, 2023 am 11:40 AM

PHP ialah bahasa skrip sumber terbuka yang digunakan secara meluas dalam pembangunan web dan pengaturcaraan sisi pelayan, terutamanya dalam pembangunan WeChat. Hari ini, semakin banyak syarikat dan pembangun mula menggunakan PHP untuk pembangunan WeChat kerana ia telah menjadi bahasa pembangunan yang benar-benar mudah dipelajari dan mudah digunakan. Dalam pembangunan WeChat, penyulitan dan penyahsulitan mesej merupakan isu yang sangat penting kerana ia melibatkan keselamatan data. Untuk mesej tanpa kaedah penyulitan dan penyahsulitan, penggodam boleh mendapatkan data dengan mudah, menimbulkan ancaman kepada pengguna.

Pembangunan PHP WeChat: Bagaimana untuk melaksanakan fungsi pengundian Pembangunan PHP WeChat: Bagaimana untuk melaksanakan fungsi pengundian May 14, 2023 am 11:21 AM

Dalam pembangunan akaun awam WeChat, fungsi pengundian sering digunakan. Fungsi undian ialah cara yang bagus untuk pengguna mengambil bahagian dalam interaksi dengan pantas, dan ia juga merupakan alat penting untuk mengadakan acara dan meninjau pendapat. Artikel ini akan memperkenalkan anda cara menggunakan PHP untuk melaksanakan fungsi undian WeChat. Dapatkan kebenaran akaun rasmi WeChat Pertama, anda perlu mendapatkan kebenaran akaun rasmi WeChat. Pada platform awam WeChat, anda perlu mengkonfigurasi alamat API akaun awam WeChat, akaun rasmi dan token yang sepadan dengan akaun awam. Dalam proses pembangunan kami menggunakan bahasa PHP, kami perlu menggunakan PH yang disediakan secara rasmi oleh WeChat

Menggunakan PHP untuk membangunkan alat pemesejan massa WeChat Menggunakan PHP untuk membangunkan alat pemesejan massa WeChat May 13, 2023 pm 05:00 PM

Dengan populariti WeChat, semakin banyak syarikat mula menggunakannya sebagai alat pemasaran. Fungsi pemesejan kumpulan WeChat ialah salah satu cara penting bagi perusahaan untuk menjalankan pemasaran WeChat. Walau bagaimanapun, jika anda hanya bergantung pada penghantaran manual, ia adalah tugas yang sangat memakan masa dan susah payah untuk pemasar. Oleh itu, adalah amat penting untuk membangunkan alat pemesejan massa WeChat. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan alat penghantaran massa WeChat. 1. Kerja penyediaan Untuk membangunkan alat pemesejan massa WeChat, kita perlu menguasai perkara teknikal berikut: Pengetahuan asas PHP WeChat alat pembangunan platform awam: Sub

Pembangunan PHP WeChat: Bagaimana untuk melaksanakan pengurusan tetingkap sembang perkhidmatan pelanggan Pembangunan PHP WeChat: Bagaimana untuk melaksanakan pengurusan tetingkap sembang perkhidmatan pelanggan May 13, 2023 pm 05:51 PM

WeChat kini merupakan salah satu platform sosial dengan pangkalan pengguna terbesar di dunia Dengan populariti Internet mudah alih, semakin banyak syarikat mula menyedari kepentingan pemasaran WeChat. Apabila menjalankan pemasaran WeChat, perkhidmatan pelanggan adalah bahagian yang penting. Untuk mengurus tetingkap sembang perkhidmatan pelanggan dengan lebih baik, kami boleh menggunakan bahasa PHP untuk pembangunan WeChat. 1. Pengenalan kepada pembangunan PHP WeChat PHP ialah bahasa skrip bahagian pelayan sumber terbuka yang digunakan secara meluas dalam bidang pembangunan Web. Digabungkan dengan antara muka pembangunan yang disediakan oleh platform awam WeChat, kami boleh menggunakan bahasa PHP untuk menjalankan WeChat

Pembangunan PHP WeChat: Bagaimana untuk melaksanakan pengurusan tag pengguna Pembangunan PHP WeChat: Bagaimana untuk melaksanakan pengurusan tag pengguna May 13, 2023 pm 04:31 PM

Dalam pembangunan akaun awam WeChat, pengurusan tag pengguna ialah fungsi yang sangat penting, yang membolehkan pembangun memahami dan mengurus pengguna mereka dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi pengurusan teg pengguna WeChat. 1. Dapatkan openid pengguna WeChat Sebelum menggunakan fungsi pengurusan tag pengguna WeChat, kita perlu mendapatkan openid pengguna terlebih dahulu. Dalam pembangunan akaun awam WeChat, adalah amalan biasa untuk mendapatkan openid melalui kebenaran pengguna. Selepas kebenaran pengguna selesai, kami boleh mendapatkan pengguna melalui kod berikut

Pembangunan PHP WeChat: Bagaimana untuk melaksanakan rekod penghantaran mesej kumpulan Pembangunan PHP WeChat: Bagaimana untuk melaksanakan rekod penghantaran mesej kumpulan May 13, 2023 pm 04:31 PM

Memandangkan WeChat menjadi alat komunikasi yang semakin penting dalam kehidupan orang ramai, fungsi pemesejan tangkasnya digemari oleh sebilangan besar perusahaan dan individu. Bagi perusahaan, membangunkan WeChat menjadi platform pemasaran telah menjadi trend, dan kepentingan pembangunan WeChat secara beransur-ansur menjadi lebih menonjol. Antaranya, fungsi penghantaran kumpulan lebih banyak digunakan Jadi, sebagai pengaturcara PHP, bagaimana untuk melaksanakan rekod penghantaran mesej kumpulan? Berikut akan memberi anda pengenalan ringkas. 1. Memahami pengetahuan pembangunan yang berkaitan dengan akaun awam WeChat Sebelum memahami cara melaksanakan rekod penghantaran mesej kumpulan, I

Langkah untuk melaksanakan pembangunan akaun awam WeChat menggunakan PHP Langkah untuk melaksanakan pembangunan akaun awam WeChat menggunakan PHP Jun 27, 2023 pm 12:26 PM

Cara menggunakan PHP untuk membangunkan akaun awam WeChat Akaun awam WeChat telah menjadi saluran penting untuk promosi dan interaksi bagi banyak syarikat, dan PHP, sebagai bahasa Web yang biasa digunakan, juga boleh digunakan untuk membangunkan akaun awam WeChat. Artikel ini akan memperkenalkan langkah khusus untuk menggunakan PHP untuk membangunkan akaun awam WeChat. Langkah 1: Dapatkan akaun pembangun akaun rasmi WeChat Sebelum memulakan pembangunan akaun rasmi WeChat, anda perlu memohon akaun pembangun akaun rasmi WeChat. Untuk proses pendaftaran khusus, sila rujuk laman web rasmi platform awam WeChat

Bagaimana untuk menggunakan PHP untuk pembangunan WeChat? Bagaimana untuk menggunakan PHP untuk pembangunan WeChat? May 21, 2023 am 08:37 AM

Dengan pembangunan Internet dan peranti pintar mudah alih, WeChat telah menjadi bahagian yang amat diperlukan dalam bidang sosial dan pemasaran. Dalam era yang semakin digital ini, cara menggunakan PHP untuk pembangunan WeChat telah menjadi tumpuan ramai pembangun. Artikel ini terutamanya memperkenalkan mata pengetahuan yang berkaitan tentang cara menggunakan PHP untuk pembangunan WeChat, serta beberapa petua dan langkah berjaga-jaga. 1. Persediaan persekitaran pembangunan Sebelum membangunkan WeChat, anda perlu menyediakan persekitaran pembangunan yang sepadan terlebih dahulu. Secara khusus, anda perlu memasang persekitaran operasi PHP dan platform awam WeChat

See all articles