获取微信公众平台安全的OpenID

为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,如果需要在多公众号、移动应用之间做用户共通,则需前往微信开放平台,将这些公众号和应用绑定到一个开放平台账号下,绑定后,一个用户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同一开放平台账号下的公众号和应用,只有一个UnionID,可以在用户管理-获取用户基本信息(UnionID机制)文档了解详情。

下边我来介绍下如何获取openid ;首先需要下载 微信公众平台SDK,下边以php获取openid 为例;先放上sdk下载链接:http://download.csdn.net/detail/jmkweb/9857783

下载完了后先建立一个php文件,例如:function.php

<?php  
function getWeiXinConfig()  
{  
    $options = array(  
        'token' => '', // 填写你设定的key  
        'encodingaeskey' => '', // 填写加密用的EncodingAESKey  
        'appid' => '', // 填写高级调用功能的app id  
        'appsecret' => '', // 填写高级调用功能的密钥 )// 商户签名密钥Key  
        'mchid' => '',  
        'key' => '');  
    return $options;  
}  
// php获取当前访问的完整url地址  
function GetCurUrl()  
{  
    $url = 'http://';  
    if (isset ($_SERVER ['HTTPS']) && $_SERVER ['HTTPS'] == 'on') {  
        $url = 'https://';  
    }  
    if ($_SERVER ['SERVER_PORT'] != '80') {  
        $url .= $_SERVER ['HTTP_HOST'] . ':' . $_SERVER ['SERVER_PORT'] . $_SERVER ['REQUEST_URI'];  
    } else {  
        $url .= $_SERVER ['HTTP_HOST'] . $_SERVER ['REQUEST_URI'];  
    }  
    // 兼容后面的参数组装  
    if (stripos($url, '?') === false) {  
        $url .= '?t=' . time();  
    }  
    return $url;  
}  
function getOpenId()  
{  
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger')) {  
        // $openid = session('openid');  
        if (empty ($openid)) {  
            include("Wechat/Wechat.class.php");  
            $config = getWeiXinConfig();  
            $weObj = new Wechat ($config);  
            $callback = GetCurUrl();  
            $callback = urldecode($callback);  
            $info = $weObj->getOauthAccessToken();  
            // $info = $weObj->getOpenid();  
            if (!$info) {  
                $url = $weObj->getOauthRedirect($callback, '', 'snsapi_base');  
                header("Location: $url");  
                exit ();  
            } else {  
                // session('openid', $info ['openid']);  
                return $info ['openid'];  
            }  
        } else {  
            return $openid;  
        }  
    } else {  
        return '';  
    }  
}  

然后新建index.php

<span style="font-size:14px;"><?php  
include("function.php");  
$id=getopenid();  
print_r($id);</span>  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值