美文网首页
微信开发第一弹

微信开发第一弹

作者: gianna1030 | 来源:发表于2017-04-18 12:07 被阅读0次

什么是微信开发

微信开发包括三个方面,微信公众号开发,微网站开发,微信接口开发
微信作为一个客户端程序,本来所有的http请求都是发送给微信那边的服务器,所有请求的回应都是微信那边的服务器定的
 微信开发的意思是,去微信开发平台申请一个账号,微信客户端会把本来要发送到微信服务器的请求发送你自己的服务器上,这样你就可以对用户的请求作出个性化回应
这些回应需要用到微信那边的api接口,要遵照微信那边制定的规则

微信开发步骤

去下面这个网站申请一个开发者账号
屏幕快照 2017-04-18 11.28.08.png
  1. 在微信开发平台填写服务器配置信息
    2.填写完成后将会向填写的服务器发送携带四个参数的GET请求来验证服务器的有效性
开发者通过校验signature对请求进行校验(下面有校验方式).若确认此次GET请求来自微信服务器,请求返回ecgostr参数内容,则接入生效,成为开发成功,否则接入失败
     加密 / 校验流程如下 
     1. 将token , timestmp ,nonce 三个参数进行字典序排序
     2. 将三个惨呼字符串拼接一个字符串进行shal 加密
     3.开发者获取加密后的字符串可以signature对比,标志着该请求来自于微信
   

实例代码:
注:验证成功后无需再次验证

   public function  valid(){
         if($this->checkSignature()){
          $echostr = $_GET['echostr'];
          echo $$echostr;

}
exit
}
//接手校验信息其中的三个参数进行判断
private function checkSignature()
{
$siguature =$_GER["signature"];
$timestamp = $_GET["timestamp"];
$nonce =$_GET["nonce"];
$token = 这里写你设置的token值
$tmpArr = array($token,$timestamp , $nonce);
sort($tmpArr,SORT_SSTRING);
$tmpStr = implode($tmpArr);

$tmpStr = shal($tmpStr);

if($tmpStr == $signature){
return true;
}else{
return false
}

}


###验证成功后就可以进行相关开发工作了

##验证成功后就是获取公众号唯一的票据access token
###### 注:由于每日获取access token 次数,需要获取该access token 保存起来供你使用
  http 请求方式 : GET

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


 注意,需要使用get 请求 方式
使用curl 来请求get 方式
 ####实例代码
     public static function get($url)
{
          // 初始化会话
       $ch  = curl_init();
    //设置会话参数
   //设置url 
 curl_setopt($ch,CURLOPT_URL,$url);
//是返回原生数据,true:返回数据 false:直接输出
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
//是否显示请求头信息
  curl_setopt($ch,CURLOPT_HEADER,false);      
//主机认证: CURLOPT_SSL_VERIFYHOST
//身份认证: CURLOPT_SSL_VERIFYPEER
//是否是POST请求:CURLOPT_POST
//执行会话
  $result=curl_exec($ch);
//关闭会话
 curl_close($ch);
return $result;
}

//判断token 是否有效
 public function getToken($id,$secret)
{
  //判断是否缓存
  if(file_exists(TOKEN_CACHE)){
     $jsonData =file_get_contents(TOKEN_CACHE);
      $data  = json_decode($jsonData,true);
     //判断是否过期  
   if(filectime(TOKEN_CACHE)+$data['expires_in']>time())){  
         return $data['access_token'];
}
 unlink(TOKEN_CACHE);
}
$url='[https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=](https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=)'.$id.'&secret='.$secret;
$data = MyCurl::get($url);
file_put_contents(TOKEN_CACHE,$data);
$data = json_decode($data,true);
return $data['access_token'];

 }

Token获取后就可以根据需求开发需要的功能了
 
 

相关文章

  • 微信开发第一弹

    什么是微信开发 微信开发包括三个方面,微信公众号开发,微网站开发,微信接口开发 微信开发步骤 去下面这个网站申请一...

  • 自说自话#2018-4-26

    1.微信新游戏「弹一弹」风靡朋友圈 微信出品的【弹一弹】小程序游戏,在【跳一跳】后的又一作品。对于【跳一跳】感觉热...

  • 43/666 HJDS| 微信小程序之WXML特性

    这是666计划的第43篇笔记 本微信小程序是极客时间“9小时搞定微信小程序开发”系列的笔记。 微信小程序开发框架-...

  • 个人微信开发sdk

    微信开发sdk,微信二次开发sdk,个人微信开发sdk,微信群api接口,微信api接口 case DeviceA...

  • 微信公众号开发 (4) 网页授权

    一、前言 微信公众号开发 (1) 微信接入认证成为开发者 微信公众号开发 (2) 消息处理 微信公众号开发 (3)...

  • 微信小程序开发系列六:微信框架API的调用

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的...

  • 微信开发者

    官网 微信开放平台微信公众平台微信云 微信开发者大本营吧微信开发吧 学习 方倍工作室 微信公众平台开发入门教程_新...

  • 个人微信开发api

    个人微信开发api,微信开发api文档,微信api接口文档 case "HeartBeatReq": {// 客户...

  • 微信公众号开发:微信服务号和订阅号的区别!

    微信开发又称微信公众平台开发、或微信公众号开发,分为微信服务号、微信订阅号、以及微信企业号,其中服务号和订阅号是企...

  • 《微信小程序开发文档》使用指南

    微信小程序开发文档,主要介绍了微信小程序的开发教程,微信小程序的api文档,微信的应用号开发资料等。 一、关于微信...

网友评论

      本文标题:微信开发第一弹

      本文链接:https://www.haomeiwen.com/subject/wjefzttx.html