+发表新主题
查看: 1540|回复: 0

[问答求助] 开发URL和token填写详解

[复制链接]

[问答求助] 开发URL和token填写详解

[复制链接]
pandio 发表于 2016-1-18 15:48:16 浏览:  1540 回复:  0 [显示全部楼层] 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
    1
作 为一名微信公众号开发者,别人进入你的微信公众号,肯定会看见某些网页,或者给你发某些信息,你需要实时自动回复,所以你需要一个24小时为用户服务的服 务器。我们所要填写的url就是你提供的服务器的地址,前提是这个服务器的地址你要能够访问,且能够控制。而token是用来验证的。

    2
然后你需要一个服务器,服务器可以自己购买,也能用新浪sae,百度bae。方法是进入其开发者中心,注册一个开发者账号。并进行实名认证!


    3
注册完毕后,我们进入控制台创建一个新应用。


    4
创建完应用之后我们进入左侧代码管理,提示我们创建一个新版本,点击确定创建一个新版本。然后选择第一张图中的编辑代码选项。弹出第二张图,双击index.php编辑本页代码。

    5
将下面的代码加标点复制进去。将define("TOKEN","weixin")这句话中的weixin改成你自己的token,例如zijidetoken;然后点击右上角的全部保存。


  1. <?php

  2. /**

  3.   * wechat php test

  4.   */

  5. //define your token

  6. define("TOKEN", "weixin");

  7. $wechatObj = new wechatCallbackapiTest();

  8. $wechatObj->valid();

  9. class wechatCallbackapiTest

  10. {

  11. public function valid()

  12.     {

  13.         $echoStr =$_GET["echostr"];

  14.         //valid signature , option

  15.        if($this->checkSignature()){

  16.         echo $echoStr;

  17.         exit;

  18.         }

  19.     }

  20.     public function responseMsg()

  21.     {

  22. //get post data, May be due to the different environments

  23. $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

  24.       //extract post data

  25. if (!empty($postStr)){

  26.                

  27.               $postObj= simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

  28.                $fromUsername = $postObj->FromUserName;

  29.                $toUsername = $postObj->ToUserName;

  30.                $keyword = trim($postObj->Content);

  31.                $time = time();

  32.                $textTpl = "<xml>

  33. <ToUserName><![CDATA[%s]]></ToUserName>

  34. <FromUserName><![CDATA[%s]]></FromUserName>

  35. <CreateTime>%s</CreateTime>

  36. <MsgType><![CDATA[%s]]></MsgType>

  37. <Content><![CDATA[%s]]></Content>

  38. <FuncFlag>0</FuncFlag>

  39. </xml>";            

  40. if(!empty( $keyword ))

  41.                 {

  42.               $msgType= "text";

  43.                $contentStr = "Welcome to wechat world!";

  44.                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$contentStr);

  45.                echo $resultStr;

  46.                }else{

  47.                echo "Input something...";

  48.                 }

  49.         }else {

  50.         echo "";

  51.         exit;

  52.         }

  53.     }

  54. private function checkSignature()

  55. {

  56.         $signature =$_GET["signature"];

  57.         $timestamp =$_GET["timestamp"];

  58.         $nonce =$_GET["nonce"];

  59.         

  60. $token = TOKEN;

  61. $tmpArr = array($token, $timestamp, $nonce);

  62. sort($tmpArr);

  63. $tmpStr = implode( $tmpArr );

  64. $tmpStr = sha1( $tmpStr );

  65. if( $tmpStr == $signature ){

  66. return true;

  67. }else{

  68. return false;

  69. }

  70. }

  71. }

  72. ?>
复制代码

6

按照第一幅图中又键点击index.php文件,选择通过URL访问得到第二幅图,复制地址栏的网址,这就是你微信开发需要填写的url,而你需要填写的token就是你上一步骤自己修改后的token。

7填写完毕,提交成功。
回复

使用道具 举报


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

本版积分规则

手机版| 赣南网

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4

用微信扫一扫

赣南网