找回密码
 立即注册

QQ登录

只需一步,快速开始

微信公众号开发资源

关注:845

所属分类: 微信开发 微信公众号开发资源

本版块为微信公众号开发教程与公众号开发相关技术分享板块,技术提问请到其他对应的问答板块发帖:)

[公众号开发博客] 零基础微信公众号开发入门第1课

  [复制链接]
查看: 97903|回复: 590
最佳答案
109 

712

主题

2359

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
34191

HKC

QQ
 楼主| 发表于 2015-10-10 17:16:48 | 显示全部楼层 |阅读模式
开发模式:
1. 编辑模式
2. 申请测试号
3. 接口配置
4. 介绍access_token

接口配置:

  1. <?php
  2. /**
  3.   * wechat php test
  4.   */

  5. //define your token
  6. define("TOKEN", "weixin");
  7. $wechatObj = new wechatCallbackapiTest();
  8. if (isset($_GET['echostr'])) {
  9.     $wechatObj->valid();
  10. } else {
  11.     $wechatObj->responseMsg();
  12. }


  13. class wechatCallbackapiTest
  14. {
  15.         public function valid()
  16.     {
  17.         $echoStr = $_GET["echostr"];

  18.         //valid signature , option
  19.         if($this->checkSignature()){
  20.                 echo $echoStr;
  21.                 exit;
  22.         }
  23.     }

  24.     public function responseMsg()
  25.     {
  26.                 //get post data, May be due to the different environments
  27.                 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

  28.               //extract post data
  29.                 if (!empty($postStr)){
  30.                 /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
  31.                    the best way is to check the validity of xml by yourself */
  32.                 libxml_disable_entity_loader(true);
  33.                       $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
  34.                 $fromUsername = $postObj->FromUserName;
  35.                 $toUsername = $postObj->ToUserName;
  36.                 $keyword = trim($postObj->Content);
  37.                 $time = time();
  38.                 $textTpl = "<xml>
  39.                                                         <ToUserName><![CDATA[%s]]></ToUserName>
  40.                                                         <FromUserName><![CDATA[%s]]></FromUserName>
  41.                                                         <CreateTime>%s</CreateTime>
  42.                                                         <MsgType><![CDATA[%s]]></MsgType>
  43.                                                         <Content><![CDATA[%s]]></Content>
  44.                                                         <FuncFlag>0</FuncFlag>
  45.                                                         </xml>";            
  46.                                 if(!empty( $keyword ))
  47.                 {
  48.                               $msgType = "text";
  49.                         $contentStr = "Welcome to wechat world!";
  50.                         $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
  51.                         echo $resultStr;
  52.                 }else{
  53.                         echo "Input something...";
  54.                 }

  55.         }else {
  56.                 echo "";
  57.                 exit;
  58.         }
  59.     }
  60.                
  61.         private function checkSignature()
  62.         {
  63.         // you must define TOKEN by yourself
  64.         if (!defined("TOKEN")) {
  65.             throw new Exception('TOKEN is not defined!');
  66.         }
  67.         
  68.         $signature = $_GET["signature"];
  69.         $timestamp = $_GET["timestamp"];
  70.         $nonce = $_GET["nonce"];
  71.                         
  72.                 $token = TOKEN;
  73.                 $tmpArr = array($token, $timestamp, $nonce);
  74.         // use SORT_STRING rule
  75.                 sort($tmpArr, SORT_STRING);
  76.                 $tmpStr = implode( $tmpArr );
  77.                 $tmpStr = sha1( $tmpStr );
  78.                
  79.                 if( $tmpStr == $signature ){
  80.                         return true;
  81.                 }else{
  82.                         return false;
  83.                 }
  84.         }
  85. }

  86. ?>
复制代码
零基础微信公众号开发入门视频教程资源汇总:http://www.henkuai.com/thread-2461-1-1.html

游客,如果您要查看本帖隐藏内容请回复

点评

一个很好的视频,值得推荐!  发表于 2015-11-22 22:34
回复

使用道具 举报

最佳答案
43 

3

主题

247

帖子

3054

积分

专家路上

积分
3054

积极分子领域专家我要抢答

发表于 2015-10-11 12:58:47 | 显示全部楼层
e.jpg

买了,看不了。
回复 支持 反对

使用道具 举报

最佳答案
0 

5

主题

65

帖子

266

积分

新人求带

积分
266
发表于 2015-10-11 15:30:30 | 显示全部楼层
有没有C#的微信息开发教程
回复 支持 反对

使用道具 举报

最佳答案
0 

2

主题

14

帖子

63

积分

新人求带

积分
63
发表于 2015-10-12 10:23:21 | 显示全部楼层
感谢分享,好好看看。
回复 支持 反对

使用道具 举报

最佳答案
43 

3

主题

247

帖子

3054

积分

专家路上

积分
3054

积极分子领域专家我要抢答

发表于 2015-10-12 11:40:36 | 显示全部楼层

第一课:开发模式
回复 支持 反对

使用道具 举报

最佳答案
0 

2

主题

14

帖子

63

积分

新人求带

积分
63
发表于 2015-10-12 17:26:06 | 显示全部楼层
ok.已经看了第一课。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



www.henkuai.com—微信开发者的分享交流平台,专注微信开发生态。

天津市滨海新区
中新生态城中成大道生态建设公寓9号楼3层301

微信公众号

广告推广
QQ:805874290

市场合作
zhongcong@henkuai.com