LaneWeChat

PHP微信开发框架,高效开发微信公众号应用。简洁而又轻量

GitHub下载 查看手册

AccessToken授权

Visits: 21947 Date: 2014-08-20 17:26:58 Power By 李轩Lane

    

1、类简介:除了被动相应用户之外,在主动给用户发送消息,用户组管理等高级操作,是需要AccessToken授权的,我们调用一个URL给微信服务器,微信服务器会返回给我们一个散列字符串,在高级操作的时候需要将此串以参数的形式发送。散列字符串10分钟内有效,过期需要重新获取,获取新的后之前的全部失效。


        2、使用命名空间:use LaneWeChat\Core\AccessToken;


        3、参数:无


        4、获取AccessToken

            AccessToken::getAccessToken(); 该调用会返回微信服务器散列后的AccessToken字符串。


        5、温馨提示


            如果暂且用不到此功能,请跳过。最后来看这里!


        6、功能补充

            有一个地方需要用户自行完善,根据介绍我们已经知道了,获取AccessToken只有10分钟的有效期,过期需要重新获取。因此,我们需要存储这个AccessToken。

            由于大家的存储方式各不相同,有Mysql的,有Redis的,有MongoDB的,还有Session的。所以这里我讲存储和读取给留空了。

            流程:AccessToken类,public方法只有一个,就是getAccessToken()。这个方法会调用一个私有方法_checkAccessToken()来检测AccessToken是否存在并且是否过期,如果不存在或过期,则调用私有方法_getAccessToken()

            完善步骤:

            1)、打开core/accesstoken.lib.php文件。

            2)、私有方法_getAccessToken()的倒数第二行(return是倒数第一行),在这个地方,请讲变量$accessTokenJson存储起来,变量$accessTokenJson是一个字符串。

            3)、私有方法_checkAccessToken()的第一行就是读取操作(有一行伪代码$accessToken = YourDatabase::get('access_token');),将刚才第二步的存储的东西给读出来,并且赋值给$accessToken。

            4)、在第二步的存储,第三部的读取的时候,请不要修改数据,仅仅完善一个读和存的操作就可以了。


Reply: yxs On 2014-12-08 09:27:50

现在 AccessToken 的 有效期 增加为了 7200

回复

Reply: izhi On 2015-06-18 22:57:58

请问$accessToken = YourDatabase::get('access_token');这局是把YourDatabase换成是自己的数据库名吗?我用的SAE,替换之后显示错误。Fatal error: Class 'LaneWeChat\Core\SAE_MYSQL_DB' not found in core/accesstoken.lib.php on line 58。

回复

Reply: zokio On 2015-09-08 01:05:46

一头雾水,请问上面这些代码要写在哪个文件里面?小白问题,请见谅。

回复

Reply: eden_cola On 2016-01-08 17:43:52

目前的最新版本中,缓存accessToken的文件使用的是相对路径,这在同时存在多个不同目录下的入口文件时会产生冲突,比如尝试将LaneWechat引入到ThinkPhp的项目中使用时,thinkphp的index.php经常和LaneWechat的wechat.php不在同一目录

回复

Reply: eden_cola On 2016-01-08 17:51:41

我是新程序员……不是很清楚该怎么反馈问题,我这次的解决方法是在config.php中添加了一个新的配置项,设定一个固定的缓存目录

回复

Reply: fu On 2016-03-29 10:28:23

session 无法使用

回复

Reply: mengrulsy On 2016-04-25 18:35:29

相应-->响应; 排版体验不好哦

回复

Reply: yuli On 2017-02-06 01:15:49

如果申请了微信第三方平台,access_token获取方式不一样,已经另外写代码实现。 也就是说不依赖框架获取access_token,这块代码怎么处理。

回复

Add Comment
©2014 lanewechat.lanecn.com , All rights reserved. Power By LaneWeChat 微信PHP开发框架.  京ICP备14005030号