微信开发之开发者模式的启用

启动配置

基本配置
  • 服务器地址(接收消息的地址)
  • 令牌(Token)
  • 消息加解密密钥
  • 消息加解密方式

对接代码

"
        .""
        .""
        ."".time().""
        .""
        .""
        ."";
        return $str;
    }
    function sendNews($toUser)
    {
        $str=""
        .""
        .""
        ."".time().""
        .""
        ."1"
        .""
        .""
        ."<![CDATA[今天天气很不错]]> "
        .""
        .""
        .""
        .""
        .""
        ."";
        return $str;
    }

    $getWeixin_msg = file_get_contents("php://input");
    if(valide() && !empty($getWeixin_msg))
    {
        libxml_disable_entity_loader(true);
        $postObj = simplexml_load_string($getWeixin_msg, 'SimpleXMLElement', LIBXML_NOCDATA);
        
        echo sendNews($postObj->FromUserName);
        // echo sendText($postObj->FromUserName,'hello world');
        exit();
    }

  • 其中的坑是$GLOBALS["HTTP_RAW_POST_DATA"]一直获取不到微信服务器那边发过来的信息,需要通过file_get_contents("php://input")来获取,其中原因是服务器考虑到安全方面设置了register_globals禁止,不能用$GLOBALS["HTTP_RAW_POST_DATA"]
  • 公众号原始ID

自定义菜单的实现

class  Wechat   
{      
    public $APPID="*************";      
    public $APPSECRET="******************";  
    //获取access_token  
    public function index()  
    {         
        $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->APPID."&secret=".$this->APPSECRET;       
        $date = postcurl($url); 
        $access_token = $date['access_token']; 
        return $access_token;         
    }  
    //拼接参数,带着access_token请求创建菜单的接口  
    public function createmenu(){  
        $data='{  
            "button":[  
                {      
                    "type":"view",  
                    "name":"听歌",  
                    "url":"http://music.163.com/"  
                },
                {  
                    "name":"我的",  
                    "sub_button":[  
                        {      
                            "type":"click",  
                            "name":"联系我们",  
                            "key":"CONTACTUS"  
                        },  
                        {  
                            "type":"view",  
                            "name":"历史文章",  
                            "url":"https://www.jianshu.com/u/0cf04b676801"  
                        }
                    ]  
                }        
            ]  
        }';      
        $access_token = $this->index();  
        $url="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;    
        $result=postcurl($url,$data);  
        var_dump($result);             
    }
}
$obj = new Wechat();
$obj->createmenu();

直接访问这个类就可以啦,会自动将数据发送到微信服务器端

你可能感兴趣的:(微信开发之开发者模式的启用)