PHP实现微信公众平台开发---基础篇

PHP实现微信公众平台开发---基础篇

一、准备工作

i. 有一定的PHP+mysql基础(前提)

ii. 要有独立的服务器或者空间(必须)

二、微信公众账号介绍和申请流程

i. 微信公众帐号---自媒体角色

ii. 微信应用 ---平台

iii. 微信用户--普通用户

iv. 关系

1. 微信应用给 微信公众帐号 微信用户提供信息交互 获取资讯的平台

2. 微信用户通过 微信应用这个平台 订阅自己感兴趣的公众账号获取相关资讯

3. 公众号通过 应用平台推送信息给微信用户

v. 认证与否的区别:api功能的调用

 

 

 


三、接入API

i. 启用开发者模式

ii. 基本配置

 

URL:自己的服务器  接受微信服务器发过来的请求

Token:微信服务器与自己的服务器交互的口令 验证第三方服务器身份的合法性

微信只支持80端口

iii. 验证服务器地址的有效性 加密/校验流程

1. 参考开发者工具->开发者文档->开始开发->接入指南

 

 

<?php

/*

微信公众平台 基本配置需要自己的服务器验证消息是否来自于微信服务器

微信服务器将发送GET请求到填写的服务器地址URL上,

GET请求携带参数如下表所示:

参数 描述

signature 微信加密签名,

signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。

timestamp 时间戳

nonce 随机数

echostr 随机字符串

开发者通过检验signature对请求进行校验(下面有校验方式)。

若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,

则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:

1)将tokentimestampnonce三个参数进行字典序排序

2)将三个参数字符串拼接成一个字符串进行sha1加密

3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

*/

$signature = $_GET['signature'] ;

$timestamp = $_GET['timestamp'] ;

$nonce = $_GET['nonce'] ;

$echostr = $_GET['echostr'] ;

//基本配置里面填写的token

$token = 'dongling13' ;

//排序

$arr = array($token,$timestamp,$nonce) ;

sort($arr) ;

//拼串  sha1加密 返回串

$str = implode($arr);

$str = sha1($str) ;

//signature比较  相同则返回echostr

if($str == $signature) {

echo $echostr ;

}

iv. 提交即可 若是报错token验证失败  确保服务器代码没问题 可多提交几次

 

猜你喜欢

转载自blog.csdn.net/donglingjiu/article/details/80517296