微信测试号实现微信分享等功能【转载】

由于个人账号不能微信认证,无法使用分享接口,所以只能用测试号了

微信测试号实现微信分享等功能【转载】_第1张图片

微信测试号实现微信分享等功能【转载】_第2张图片

1 申请微信测试号

申请地址,微信公众平台开发者文档:http://mp.weixin.qq.com/wiki/home/index.html

微信测试号实现微信分享等功能【转载】_第3张图片

点击“接口测试号申请”,后续操作请根据微信提示来扫码,就ok了。

2 申请成功

  后面说怎么设置这些。

微信测试号实现微信分享等功能【转载】_第4张图片

3 下载微信的测试代码

  微信网页开发-》微信JS-SDK

微信测试号实现微信分享等功能【转载】_第5张图片

拉到最下面,就可以看见下载链接了

微信测试号实现微信分享等功能【转载】_第6张图片

 4 将下载的代码放到自己的服务器上

    没有的自己去申请个免费的新浪云,或者其他的


 5 接口配置信息

URL设置为自己服务器地址上wx_sample的地址。

Token随意设置, 和wx_sample里的define("TOKEN", "weixin")一致就行。

微信测试号实现微信分享等功能【转载】_第7张图片

wx_sample没有在微信下载的源码里,代码如下:

valid();

class wechatCallbackapiTest
{
    public function valid()
    {
        $echoStr = $_GET["echostr"];
        //valid signature , option
        if($this->checkSignature()){
            echo $echoStr;
            exit;
        }
    }
        
    private function checkSignature()
    {
        // you must define TOKEN by yourself
        if (!defined("TOKEN")) {
            throw new Exception('TOKEN is not defined!');
        }
        
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];
        
        $token = TOKEN;
        $tmpArr = array($token, $timestamp, $nonce);
        // use SORT_STRING rule
        sort($tmpArr, SORT_STRING);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );
        
        if( $tmpStr == $signature ){
            return true;
        }else{
            return false;
        }
    }
}

?>

6 JS安全域名

 就是自己服务器地址

微信测试号实现微信分享等功能【转载】_第8张图片

7 扫码关注,只有关注的微信号才能测试


微信测试号实现微信分享等功能【转载】_第9张图片

8 测试号就设置完成了,现在修改sample.php文件

首先appid和appsecret要和测试号上的一致

$jssdk = new JSSDK("wx4a14bf95e973b059", "af99ce68694f39e2712e7cf7c22fe224");

在wx.config中,配置要使用的接口

jsApiList: [
      // 所有要调用的 API 都要加到这个列表中
    'onMenuShareAppMessage','onMenuShareTimeline'
    ]

最后在wx.ready中写具体接口,代码如下:

GetSignPackage();
?>



  
  


   微信分享测试



9 在微信上打开,并分享

微信上打开网址   120.24.188.118/web/sample/sample.php

然后分享,就可以看到分享配置里的标题、图片等分享内容

10 问题

遇到invaild signature错误。找了半天,发现jssdk.php中获取的token为空。

以为是php的curl没开,后来发现php.ini已经开了。然后百度到curl版本问题,将httpGet中这两行设置为false就行了。

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

你可能感兴趣的:(微信测试号实现微信分享等功能【转载】)