微信公众号

1.微信公众号分为3种:订阅号主要偏于为用户传达资讯(类似报纸杂志),认证前后都是每天只可以群发一条消息);服务号主要偏于服务交互(类似银行,114,提供服务查询),认证前后都是每个月可群发4条消息);企业号主要用于公司内部通讯使用,需要先验证身份才可以关注成功企业号);

2.在选择开发微信号的时候应该先打开 ->开发者工具->选择公众号测试平台->填写服务器配置->验证服务器地址的有效性->依据接口文档实现业务逻辑->然后便可以开始开发了;

3.微信开发平台为每个开发者准备了一个开发测试账号,每个测试账号都有一个appID(是唯一的)appsecret,接下来就是填写urltoken

4.开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上 ,url有四个参数(

参数描述
signature微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp时间戳
nonce随机数
echostr随机字符串

开发者通过检验signature对请求进行校验。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败;可以判断是否是腾讯服务器发送,由此可以保证账号的安全性

5.所谓的url就是API接口,开发的前提是验证token(校验字符串时间戳随机数),判断是否是腾讯服务器发送

6.获取access_token: 公众号调用各接口时都需使用access_token,access_token公众号的全局唯一接口调用凭据access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

7.access_token的url是https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 请求方式是get

8.access_token有三个参数分别是

参数是否必须说明
grant_type获取access_token填写client_credential
appid第三方用户唯一凭证
secret

第三方用户唯一凭证密钥,即appsecret

返回JSON数据 例如
{"access_token":"ACCESS_TOKEN","expires_in":7200}

expires_in代表的是有效期 access_token获取到的凭证

有效代码为
<?php

define('APPID', 'wx1c85596047f585fc');
define('APPSECRET', 'a7fdfd0fc623b8a9aff5ffe51de24aa8');
define('TOKEN_FILE','access_token.txt');

$access_token=access_token();
echo  $access_token;

//返回access_token
function access_token(){
	//判断文件是否存在
	if (is_file(TOKEN_FILE)) {
		//读取文件
		$str =file_get_contents(TOKEN_FILE);
		$arr=json_decode($str,true);
		//判断是否过期
		if (time() - $arr['create_time'] > $arr['expires_in']-200) {
			return getNewAccess_token();
		}else{
			return $arr['access_token'];
		}
		
	}else{
		//不存在
		return getNewAccess_token();
	}

}
//得到新的access_token
function getNewAccess_token(){

	$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" .APPID. "&secret=" .APPSECRET;

	//echo $url;

	// 创建一个新cURL资源
	$ch  =  curl_init ();

	// 设置URL和相应的选项
	curl_setopt ( $ch ,  CURLOPT_URL ,  $url );
	curl_setopt ( $ch ,  CURLOPT_HEADER ,  false );

	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
	curl_setopt($ch, CURLOPT_SSLVERSION, 1);


	// 抓取URL并把它传递给浏览器
	$str=curl_exec ( $ch );

	//关闭cURL资源,并且释放系统资源
	curl_close ( $ch );

    //处理$str
	$arr=json_decode($str,true);

	//保存新元素
	$arr['create_time'] = time();

	//数组->json
	$str=json_encode($arr);

	// 保存access_token
	file_put_contents(TOKEN_FILE,$str);

	return $arr['access_token'] ;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值