在阅读这篇文章之前你要做以下的准备:
1.注册一个订阅号(通过微信公众平台https://mp.weixin.qq.com/);
2.注册新浪云并实名认证http://sae.sina.com.cn/
3.实名认证新浪云之后,创建一个云应用.
4.你需要知道php基础知识.
一:验证接口
1.登录我们的公众号.然后点击进入开发者工具,在登录之后页面的左下角.
2.点击进入开发者文档.之后点击开始开发,点击接入指南,我们会看到如下图.
图片上有说,接入微信公众平台开发,开发者需要按照如下步骤完成:
1.填写服务器配置
2.验证服务器地址的有效性
3.依据接口文档实现业务逻辑.
第一步:填写服务器配置
我们登录微信公众号之后,右下角基本开发配置点进去,
url是开发者用来接收微信消息和事件的接口url.具体怎么填我们等下详细说.
token可以随意填写(但是每个人都不一样的,如果后面提交失败可以试着修改token),这个token会和接口中包含的token进行比对,从而验证安全性,encodingaeskey由开发者手动填写或随机生成,将用作消息体加解密密钥。
填写的url,需要我们有自己的服务器的地址,现在我们就要到我们之前注册的新浪云云应用了.
一.登录新浪云,点击云应用,点击进入控制台.如下图创建
二.级域名和应用名称,自己起个名字就好.然后点击进入下图红色标记的地方.
三.如下图箭头指示点击进入编辑代码
四.之后会弹出sae的界面,我们需要在里面建立一个php文件,然后点击通过url访问,之后我们把这个网址拷贝下来,放到我们之前基本配置的url上.
第二步:验证消息的确来自微信服务器
具体的php代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<?php
// //最简单的验证方式
// echo $_get["echostr"];
//验证是否来自于微信
function checkweixin(){
//微信会发送4个参数到我们的服务器后台 签名 时间戳 随机字符串 随机数
$signature = $_get [ "signature" ];
$timestamp = $_get [ "timestamp" ];
$nonce = $_get [ "nonce" ];
$echostr = $_get [ "echostr" ];
$token = "qilipingmgl" ;
// 1)将token、timestamp、nonce三个参数进行字典序排序
$tmparr = array ( $nonce , $token , $timestamp );
sort( $tmparr ,sort_string);
// 2)将三个参数字符串拼接成一个字符串进行sha1加密
$str = implode( $tmparr );
$sign = sha1( $str );
// 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
if ( $sign == $signature ) {
echo $echostr ;
}
}
checkweixin();
?>
|
注意:代码中 $token 是每个人不同的,我们需要填写自己的,点击开发者工具,之后右边有公众平台测试账号,点击进入,之后我们会看到接口配置,把token复制过来放到代码中.
我们把这个代码复制到我们刚创建的sae的php文件里,再保存(记得要保存哦),然后点击通过url访问,
如果报错了(报错的信息是数字的话),请点击开发者文档中,点击开始前必读,有个接口返回码说明,我们可以对照一下,错误在哪里, 注意:0的时候表示请求成功.
二.获取access_token
提示:access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token.我们作为开发者要妥善保存,access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。
第一步,我们点击开发者文档,点击开始开发,点击获取access_token之后会看到,http请求方式:get,然后一个网址,我们需要用到这个网址,如下图,
e0204d74-2ea6-4943-b93f-7e7c1e2fa88a.png
第二步:我们写get请求的函数,获取access_token
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?php
class weixin{
private $appid = "wxe62f370c4e2cade2" ;
private $appsecret = "58807091ae5a4c59ee3e47108184bdb7" ;
function getaccesstoken(){
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appid}&secret={$this->appsecret}" ;
// return $this->httpget($url);
//json字符串
$json = $this ->httpget( $url );
//解析json
$obj = json_decode( $json );
return $obj ->access_token;
}
function httpget( $url ){
//1.初始化
$curl = curl_init();
//配置curl
curl_setopt( $curl , curlopt_url, $url );
curl_setopt( $curl , curlopt_returntransfer, true);
//执行curl
$res = curl_exec( $curl );
//关闭curl
curl_close( $curl );
return $res ;
}
}
$wx = new weixin();
echo $wx ->getaccesstoken();
/*
获取access_token方法 get方法
*/
?>
|
注意:代码中 $appid 和 $appsecret 是每个人不同的,我们需要填写自己的,点击开发者工具,之后右边有公众平台测试账号,点击进入,之后我们会看到测试号信息.然后复制过来放到代码中.
第三步:我们代码复制到saephp文件中,点击右键通过url访问,如果返回 {"access_token":"access_token","expires_in":7200} 表示我们获取token成功.如果不幸报错了,没关系我们找错误,点击开发文档,点击开始前必读,点击接口返回码说明,我们对照一下,根据提示找错误就好了.
说道这里我们的配置接口就完成了,下一节我们继续微信开发->自定菜单创建接口.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.jianshu.com/p/56d8906ace28