成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

獲取微信用戶基本信息

jeyhan / 1378人閱讀

摘要:引入封裝的類使用接口通過(guò)獲得觸發(fā)微信返回碼獲取碼,以獲取其實(shí)需要一個(gè)包,但是我不知道怎么傳文件,我只能復(fù)制一些能用的函數(shù)了作用生成可以獲得的作用格式化參數(shù),簽名過(guò)程需要使用作用設(shè)置獲取微信用戶數(shù)據(jù)初始化設(shè)置超時(shí)運(yùn)行

public function getuserinfo(){
        header("Content-type:text/html;charset=utf-8");
        ini_set("date.timezone", "Asia/Shanghai");
  //引入封裝的類
           // import("Common.Lib.WxPayPubHelper.WxPayPubHelper");
            //使用jsapi接口
            //$jsApi = new JsApi_pub();
/*      通過(guò)code獲得openid*/
            if (!isset($_GET["code"])) {
                //觸發(fā)微信返回code碼
                $url = $this->createOauthUrlForCode("http://" . $_SERVER["HTTP_HOST"] . "/Web/Index/index.html");
                header("Location: $url");
            } else {
                //獲取code碼,以獲取openid
                $code = I("get.code");
                if (!empty($code)) {
                    $this->setCode($code);
                    $result_wechat = $this->getWxInfomation();
                    if ($result_wechat) {
                        if (!M("web_user")->where(array("openid" => $result_wechat["openid"]))->find())
                            M("web_user")->add($result_wechat);
                        cookie("openid", $result_wechat["openid"]);
                        cookie("nickname", $result_wechat["nickname"]);
                        cookie("wechatinfo", $result_wechat);
                    }
                }
            }
}

***

> //其實(shí)需要一個(gè)包,但是我不知道怎么傳文件,我只能復(fù)制一些能用的函數(shù)了

    /**
         *    作用:生成可以獲得code的url
         */
    function createOauthUrlForCode($redirectUrl)
    {
        $urlObj["appid"] = WxPayConf_pub::APPID;
        $urlObj["redirect_uri"] = "$redirectUrl";
        $urlObj["response_type"] = "code";
        $urlObj["scope"] = "snsapi_userinfo";
        $urlObj["state"] = "STATE" . "#wechat_redirect";
        $bizString = $this->formatBizQueryParaMap($urlObj, false);
        return "https://open.weixin.qq.com/connect/oauth2/authorize?" . $bizString;
    }
    
      /**
     *    作用:格式化參數(shù),簽名過(guò)程需要使用
     */
    function formatBizQueryParaMap($paraMap, $urlencode)
    {
        $buff = "";
        ksort($paraMap);
        foreach ($paraMap as $k => $v) {
            if ($urlencode) {
                $v = urlencode($v);
            }
            //$buff .= strtolower($k) . "=" . $v . "&";
            $buff .= $k . "=" . $v . "&";
        }
        $reqPar;
        if (strlen($buff) > 0) {
            $reqPar = substr($buff, 0, strlen($buff) - 1);
        }
        return $reqPar;
    }
        /**
     *    作用:設(shè)置code
     */
    function setCode($code_)
    {
        $this->code = $code_;
    }
    
    
        /**
     * 獲取微信用戶數(shù)據(jù)
     * @return mixed
     */
    function getWxInfomation()
    {
        $url = $this->createOauthUrlForOpenid();
        //初始化curl
        $ch = curl_init();
        //設(shè)置超時(shí)
        curl_setopt($ch, CURLOPT_TIMEOUT, $this->curl_timeout);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_HEADER, FALSE);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        //運(yùn)行curl,結(jié)果以jason形式返回
        $res = curl_exec($ch);
        curl_close($ch);
        //取出openid
        $data = json_decode($res, true);

        if ($data) {
            $url = $this->createOauthUrlForUserInfo($data["access_token"], $data["openid"]);
            //初始化curl
            $ch = curl_init();
            //設(shè)置超時(shí)
            curl_setopt($ch, CURLOPT_TIMEOUT, $this->curl_timeout);
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
            curl_setopt($ch, CURLOPT_HEADER, FALSE);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
            //運(yùn)行curl,結(jié)果以jason形式返回
            $res = curl_exec($ch);
            curl_close($ch);
            //取出openid
            $data = json_decode($res, true);
            return $data;
        }
    }
    

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22264.html

相關(guān)文章

  • 網(wǎng)站接入微信掃碼登錄并獲取用戶基本信息(微信開(kāi)放平臺(tái))

    摘要:現(xiàn)在的網(wǎng)站基本都接入微信登陸了,就好像下面這樣的。只需要用微信掃一下二維碼,這個(gè)網(wǎng)站就可以展示你的微信昵稱和頭像,免去注冊(cè)賬號(hào)和輸入密碼登錄的步驟,還免去設(shè)置頭像和昵稱的步驟,所以是挺方便的。 現(xiàn)在的網(wǎng)站基本都接入微信登陸了,就好像下面這樣的。 showImg(https://segmentfault.com/img/bVbc4jV?w=523&h=508); 只需要用微信掃一下二維碼...

    tangr206 評(píng)論0 收藏0
  • 說(shuō)說(shuō)微信掃碼登錄

    摘要:詳情接口我們這里主要講的是網(wǎng)站應(yīng)用,網(wǎng)站應(yīng)用微信登錄是基于協(xié)議標(biāo)準(zhǔn)構(gòu)建的微信授權(quán)登錄系統(tǒng)即上面的協(xié)議。在微信客戶端授權(quán)登錄獲取用戶信息的可以查看。微信授權(quán)登錄目前支持模式,適用于擁有端的應(yīng)用授權(quán)。 一、OAuth2.0 OAuth(開(kāi)放授權(quán))是一個(gè)開(kāi)放標(biāo)準(zhǔn),允許用戶讓第三方應(yīng)用訪問(wèn)該用戶在某一網(wǎng)站上存儲(chǔ)的私密的資源(如照片,視頻,聯(lián)系人列表),而無(wú)需將用戶名和密碼提供給第三方應(yīng)用。 ...

    Jokcy 評(píng)論0 收藏0
  • 微信訂閱號(hào)通過(guò)獲取Openid并獲取用戶基本信息

    摘要:我們知道,服務(wù)號(hào)有獲取用戶基本信息的接口,通過(guò)網(wǎng)頁(yè)授權(quán)獲取的。但是認(rèn)證的訂閱號(hào)也有獲取用戶基本信息的接口了,但是與服務(wù)號(hào)不同的是,這個(gè)需要用戶主動(dòng)觸發(fā)才可以獲得,需要用戶發(fā)送任意關(guān)鍵詞或者點(diǎn)擊菜單。那么最后一步,就是獲取用戶基本信息了。 我們知道,服務(wù)號(hào)有獲取用戶基本信息的接口,通過(guò)oauth2.0網(wǎng)頁(yè)授權(quán)獲取的。但是認(rèn)證的訂閱號(hào)也有獲取用戶基本信息的接口了,但是與服務(wù)號(hào)不同的是,這個(gè)...

    miguel.jiang 評(píng)論0 收藏0
  • 微信開(kāi)放平臺(tái)掃碼登錄獲取用戶基本信息!附可用demo

    摘要:微信開(kāi)放平臺(tái)提供了網(wǎng)站掃碼登錄的接口,用于獲取用戶基本信息頭像,昵稱方便網(wǎng)站快速接入微信登錄,快捷登錄。需要使用登錄接口,需要成為微信開(kāi)放平臺(tái)認(rèn)證開(kāi)發(fā)者元才可以獲得這個(gè)接口權(quán)限。 微信開(kāi)放平臺(tái)提供了網(wǎng)站掃碼登錄的接口,用于獲取用戶基本信息(頭像,昵稱)方便網(wǎng)站快速接入微信登錄,快捷登錄。需要使用登錄接口,需要成為微信開(kāi)放平臺(tái)認(rèn)證開(kāi)發(fā)者(300元)才可以獲得這個(gè)接口權(quán)限。 準(zhǔn)備工作: 1...

    flybywind 評(píng)論0 收藏0
  • vue + 微信獲取用戶信息

    摘要:分享頁(yè)面的實(shí)際鏈接當(dāng)前頁(yè)面的鏈接需要編碼公眾號(hào)的當(dāng)前頁(yè)面的鏈接,需要編碼其他值均不用改動(dòng)點(diǎn)擊允許后跳轉(zhuǎn)的鏈接是。此處的可以用來(lái)調(diào)取接口獲取微信用戶的相關(guān)信息每次用戶授權(quán)帶上的將不一樣,只能使用一次,分鐘未被使用自動(dòng)過(guò)期。 vue + 微信獲取用戶信息 本次項(xiàng)目做到一個(gè)點(diǎn)贊功能,即分享出去一個(gè)頁(yè)面給微信好友,微信好友點(diǎn)開(kāi)并點(diǎn)贊,需要將點(diǎn)贊用戶的微信昵稱,微信頭像以及微信openid,微信...

    luoyibu 評(píng)論0 收藏0
  • vue + 微信獲取用戶信息

    摘要:分享頁(yè)面的實(shí)際鏈接當(dāng)前頁(yè)面的鏈接需要編碼公眾號(hào)的當(dāng)前頁(yè)面的鏈接,需要編碼其他值均不用改動(dòng)點(diǎn)擊允許后跳轉(zhuǎn)的鏈接是。此處的可以用來(lái)調(diào)取接口獲取微信用戶的相關(guān)信息每次用戶授權(quán)帶上的將不一樣,只能使用一次,分鐘未被使用自動(dòng)過(guò)期。 vue + 微信獲取用戶信息 本次項(xiàng)目做到一個(gè)點(diǎn)贊功能,即分享出去一個(gè)頁(yè)面給微信好友,微信好友點(diǎn)開(kāi)并點(diǎn)贊,需要將點(diǎn)贊用戶的微信昵稱,微信頭像以及微信openid,微信...

    Corwien 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

jeyhan

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<