亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁(yè) 微信小程式 微信開發(fā) 微信公眾號(hào)網(wǎng)頁(yè)授權(quán)詳解

微信公眾號(hào)網(wǎng)頁(yè)授權(quán)詳解

Jul 16, 2019 pm 02:21 PM
微信 微信公眾號(hào)

在這個(gè)行動(dòng)端的時(shí)代,微信公眾號(hào)也逐漸成為人們獲取資訊的一種管道,也是商家發(fā)展?jié)撛诳蛻舻囊环N手段,因此,許多程式設(shè)計(jì)師轉(zhuǎn)戰(zhàn)微信開發(fā),那麼今天,我們就來為大家介紹一下微信公眾號(hào)開發(fā)中的網(wǎng)頁(yè)授權(quán)到底要怎麼達(dá)成。

在這之前先給大家一個(gè)我自訂的請(qǐng)求介面的函數(shù),在下面的範(fàn)例程式碼中請(qǐng)求介面用的都是這個(gè)函數(shù)

這個(gè)函數(shù)的作用是,想介面發(fā)起請(qǐng)求,傳遞參數(shù)並回傳介面回傳的資料

(這個(gè)裡面的程式碼就不做多解釋了,如果大家想要了解可以去看一下php curl函數(shù)總結(jié))

//自定義請(qǐng)求接口函數(shù),$data為空時(shí)發(fā)起get請(qǐng)求,$data有值時(shí)發(fā)情post請(qǐng)求
function http_url($url,$data=null){
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
    if(!empty($data)){
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
    }
    $res = curl_exec($ch);
    if(curl_errno($ch)){
        echo "error:".curl_error($ch);
        exit;
    }
    curl_close($ch);
    return $res;
}

(文中所使用的介面為騰訊官方提供,大家可以參考一下微信公眾平臺(tái)的開發(fā)者文件

一、首先我們需要設(shè)定我們的公眾號(hào)碼

#1、在微信公眾號(hào)請(qǐng)求使用者網(wǎng)頁(yè)授權(quán)之前,開發(fā)者需要先到公眾平臺(tái)官網(wǎng)中的「開發(fā)- 介面權(quán)限- 網(wǎng)頁(yè)服務(wù)- 網(wǎng)頁(yè)帳號(hào)- 網(wǎng)頁(yè)授權(quán)取得使用者基本資訊」的設(shè)定選項(xiàng)中,修改授權(quán)回呼網(wǎng)域名稱。請(qǐng)注意,這裡填寫的是網(wǎng)域名稱(是字串),而不是URL,所以請(qǐng)勿加http:// 等協(xié)定頭;

2、授權(quán)回呼網(wǎng)域設(shè)定規(guī)範(fàn)為全域名,例如需要網(wǎng)頁(yè)授權(quán)的網(wǎng)域?yàn)椋簑ww.qq.com,設(shè)定日後此網(wǎng)域下方的頁(yè)面http://www.qq.com/music.html?、?http://www.qq.com/login .html?都可以進(jìn)行OAuth2.0鑑權(quán)。但http://pay.qq.com?、?http://music.qq.com?、?http://qq.com無法進(jìn)行OAuth2.0鑑權(quán)

3、如果公有號(hào)登入授權(quán)給了第三方開發(fā)者來進(jìn)行管理,不必做任何設(shè)置,由第三方代替公眾號(hào)實(shí)現(xiàn)網(wǎng)頁(yè)授權(quán)即可

#二、使用者同意授權(quán),取得code

介面位址:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect(注意介面參數(shù))

? ?微信公眾號(hào)網(wǎng)頁(yè)授權(quán)詳解

function Get_Code()  //獲取code
{
//構(gòu)造請(qǐng)求地址
$code_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=微信公眾號(hào)appid&redirect_uri=請(qǐng)求功后回調(diào)地址&response_type=code&scope=snsapi_userinfo&state=STATE #wechat_redirect";
//跳轉(zhuǎn)到請(qǐng)求地址,應(yīng)為本省設(shè)置了回調(diào)地址,所以不需要使用file_get_content()來請(qǐng)求接口。
header("location:" . $code_url);
exit;
}

三、通個(gè)取得到的code來或缺少access_token和openid


微信公眾號(hào)網(wǎng)頁(yè)授權(quán)詳解


#介面:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

微信公眾號(hào)網(wǎng)頁(yè)授權(quán)詳解

#
/**
 *  通過獲取到的code來獲取access_token和openid 
 *  $code為獲取到的code
 * 接口的參數(shù)注意換成自己的,如appid和secret
 */
function GetAccess_Token($code)
{
$get_access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid&secret=secret&code=$code&grant_type=authorization_code";
$res = http_url($get_access_token_url);
return json_decode($res, true);
}


#四、判斷access_token是否有效

微信公眾號(hào)網(wǎng)頁(yè)授權(quán)詳解

介面:https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID

/**
 * 檢查access_token是否有效
 * 
 */
function CkeckAccessToken($access_token, $openid)
{
    $check_url = "https://api.weixin.qq.com/sns/auth?access_token=$access_token&openid=$openid";
    $res = http_url($check_url);
    $result = json_decode($res, true);
    if (isset($result['errmsg']) && $result['errmsg'] == 1) {
        return 1;       //access_token有效   
    } else {
        return 0;       //access_token無效 
    }
}

###五、如果失效,刷新access_token###############介面:### https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN###############六、取得使用者資訊############介面:###https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN##### #

微信公眾號(hào)網(wǎng)頁(yè)授權(quán)詳解

/** * 獲取用戶基本信息 *  */
function Get_User_Info($access_token, $openid){   
     $get_user_info = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";   
      $res = http_url($get_user_info);   
       return json_decode($res, true);
   }

獲取到用戶信息數(shù)據(jù):

{   
    "openid":" OPENID",
    " nickname": NICKNAME,
    "sex":"1",
    "province":"PROVINCE"
    "city":"CITY",
    "country":"COUNTRY",
    "headimgurl":       "http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
    "privilege":[ "PRIVILEGE1" "PRIVILEGE2"     ],
    "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

微信公眾號(hào)網(wǎng)頁(yè)授權(quán)詳解下面上完整代碼:

<?php
    //跳轉(zhuǎn)第三方頁(yè)面,獲取用戶基本信息
    // 這是請(qǐng)求頁(yè)面也是code的回調(diào)頁(yè)面
    session_start();                //啟動(dòng)session
    if (isset($_GET[&#39;code&#39;])) {     //判斷是否有code傳過來,如果沒有調(diào)用函數(shù)請(qǐng)求code
          $res = GetAccess_Token($_GET[&#39;code&#39;]);     //使用code獲取access_token和openid
          if (CkeckAccessToken($res[&#39;access_token&#39;], $res[&#39;openid&#39;]) == 0) {     //判斷access_token是否有效,如果無效獲取新的access_token
                  $res = GetRefresh_Token($res[&#39;refresh_token&#39;]);                    //或缺新的access_token
            }
           $userinfo = Get_User_Info($res[&#39;access_token&#39;], $res[&#39;openid&#39;]);        //獲取用戶信息
           $_SESSION[&#39;userinfo&#39;] = $userinfo;                                      //將用戶信息存入session中
           $next_url = &#39;http://web/index.php&#39;;                                     //下一個(gè)頁(yè)面地址
           header("location:" . $next_url);                                       //獲取到信息后跳轉(zhuǎn)到其他頁(yè)面
           exit;
      } else { 
         //獲取code
      Get_Code();
      }
    function Get_Code()  //獲取code{
    $code_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=appid&redirect_uri=回調(diào)地址&response_type=code&scope=snsapi_userinfo&state=STATE #wechat_redirect";
    header("location:" . $code_url);
    exit;
    }
    /**
    *  通過獲取到的code來獲取access_token和openid
    *
    */
    function GetAccess_Token($code){
        $get_access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid&secret=secret&code=$code&grant_type=authorization_code";
        $res = http_url($get_access_token_url);
        return json_decode($res, true);
        }
    /**
     * 檢查access_token是否有效
     *
    */
    function CkeckAccessToken($access_token, $openid){
    $check_url = "https://api.weixin.qq.com/sns/auth?access_token=$access_token&openid=$openid"; 
    $res = http_url($check_url);
    $result = json_decode($res, true);
    if (isset($result[&#39;errmsg&#39;]) && $result[&#39;errmsg&#39;] == 1) {
       return 1;       //access_token有效 
     } else { 
       return 0;       //access_token無效 
     }
    }

    /**
     * 如果獲取到的access_token無效,通過refresh_token來刷新access_token 
     */
    function GetRefresh_Token($refresh_token){
        $get_refresh_token_url = "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=appid&grant_type=refresh_token&refresh_token=$refresh_token";
        $res = http_url($get_refresh_token_url);
        return json_decode($res, true);
     }
    /**
     * 獲取用戶基本信息
     *
     */
    function Get_User_Info($access_token, $openid){
        $get_user_info = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
        $res = http_url($get_user_info);
        return json_decode($res, true);}
    //自定義請(qǐng)求接口函數(shù),$data為空時(shí)發(fā)起get請(qǐng)求,$data有值時(shí)發(fā)起post請(qǐng)求
    function http_url($url,$data=null){
       $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
        if(!empty($data)){    
            curl_setopt($ch,CURLOPT_POST,1);
            curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
         }
         $res = curl_exec($ch);
         if(curl_errno($ch)){
           echo "error:".curl_error($ch);
           exit;
          }
          curl_close($ch);
          return $res;
          }


? ?

以上是微信公眾號(hào)網(wǎng)頁(yè)授權(quán)詳解的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
抖音網(wǎng)頁(yè)版入口登錄鏈接地址https 抖音網(wǎng)頁(yè)版入口網(wǎng)址免費(fèi) 抖音網(wǎng)頁(yè)版入口登錄鏈接地址https 抖音網(wǎng)頁(yè)版入口網(wǎng)址免費(fèi) May 22, 2025 pm 04:24 PM

抖音網(wǎng)頁(yè)版的登錄入口是https://www.douyin.com/。登錄步驟包括:1.打開瀏覽器;2.輸入網(wǎng)址https://www.douyin.com/;3.點(diǎn)擊“登錄”按鈕並選擇登錄方式;4.輸入賬號(hào)密碼;5.完成登錄。網(wǎng)頁(yè)版提供了瀏覽、搜索、互動(dòng)、上傳視頻和個(gè)人主頁(yè)管理等功能,具有大屏幕體驗(yàn)、多任務(wù)處理、便捷的賬號(hào)管理和數(shù)據(jù)統(tǒng)計(jì)等優(yōu)勢(shì)。

幣安這些c2c交易有風(fēng)險(xiǎn)嗎 幣安這些c2c交易有風(fēng)險(xiǎn)嗎 Apr 30, 2025 pm 06:54 PM

幣安C2C交易讓用戶直接買賣加密貨幣,需注意交易對(duì)手、支付和價(jià)格波動(dòng)風(fēng)險(xiǎn),選擇高信用度用戶和安全支付方式可降低風(fēng)險(xiǎn)。

拷貝漫畫(官網(wǎng)入口)_拷貝漫畫(nba)正版在線閱讀入口 拷貝漫畫(官網(wǎng)入口)_拷貝漫畫(nba)正版在線閱讀入口 Jun 05, 2025 pm 04:12 PM

拷貝漫畫無疑是一個(gè)不容錯(cuò)過的寶藏。在這裡,你可以找到各種風(fēng)格的籃球漫畫,從熱血?jiǎng)?lì)志的競(jìng)技故事,到輕鬆幽默的日常喜劇,應(yīng)有盡有。無論是想重溫經(jīng)典,還是想發(fā)掘新作,拷貝漫畫都能滿足你的需求。通過拷貝漫畫提供的正版在線閱讀入口,你將告別盜版資源的困擾,享受高清流暢的閱讀體驗(yàn),更能支持你喜愛的漫畫作者,為正版漫畫的發(fā)展貢獻(xiàn)一份力量。

uc瀏覽器與qq瀏覽器哪個(gè)好用 uc和qq瀏覽器深度對(duì)比評(píng)測(cè) uc瀏覽器與qq瀏覽器哪個(gè)好用 uc和qq瀏覽器深度對(duì)比評(píng)測(cè) May 22, 2025 pm 08:33 PM

選擇UC瀏覽器還是QQ瀏覽器取決於你的需求:1.UC瀏覽器適合追求快速加載和豐富娛樂功能的用戶;2.QQ瀏覽器適合需要穩(wěn)定性和與騰訊產(chǎn)品無縫連接的用戶。

AI寫作軟件排行榜單前十名推薦 AI寫作軟件哪些免費(fèi) AI寫作軟件排行榜單前十名推薦 AI寫作軟件哪些免費(fèi) Jun 04, 2025 pm 03:27 PM

結(jié)合 2025 年最新行業(yè)動(dòng)態(tài)與多維度評(píng)測(cè)數(shù)據(jù),以下為綜合排名前十的 AI 寫作軟件推薦,涵蓋通用創(chuàng)作、學(xué)術(shù)研究、商業(yè)營(yíng)銷等主流場(chǎng)景,同時(shí)兼顧中文優(yōu)化與本地化服務(wù):

奈斯漫畫官方頁(yè)面免費(fèi)漫畫在線看 奈斯漫畫登錄頁(yè)面免費(fèi)入口網(wǎng)站 奈斯漫畫官方頁(yè)面免費(fèi)漫畫在線看 奈斯漫畫登錄頁(yè)面免費(fèi)入口網(wǎng)站 Jun 12, 2025 pm 08:18 PM

奈斯漫畫,一個(gè)致力於為漫畫愛好者打造的沉浸式閱讀體驗(yàn)平臺(tái),匯聚了海量國(guó)內(nèi)外優(yōu)質(zhì)漫畫資源。它不僅僅是一個(gè)漫畫閱讀平臺(tái),更是一個(gè)連接漫畫家與讀者、分享漫畫文化的社區(qū)。通過簡(jiǎn)潔直觀的界面設(shè)計(jì)和強(qiáng)大的搜索功能,奈斯漫畫讓你能夠輕鬆找到心儀的作品,享受流暢舒適的閱讀體驗(yàn)。告別漫長(zhǎng)的等待和繁瑣的操作,即刻進(jìn)入奈斯漫畫的世界,開啟你的漫畫之旅吧!

蛙漫 網(wǎng)址在線看入口 漫蛙漫畫(網(wǎng)頁(yè)入口)在線觀看 蛙漫 網(wǎng)址在線看入口 漫蛙漫畫(網(wǎng)頁(yè)入口)在線觀看 Jun 12, 2025 pm 08:06 PM

蛙漫漫畫,憑藉其豐富多元的漫畫資源和便捷流暢的在線閱讀體驗(yàn),已成為眾多漫畫愛好者的首選。它就像一個(gè)充滿活力的池塘,源源不斷地湧現(xiàn)出新鮮有趣的故事,等待著你去發(fā)現(xiàn)和探索。蛙漫漫畫涵蓋了各種題材,從熱血冒險(xiǎn)到甜蜜戀愛,從奇幻科幻到懸疑推理,無論你喜歡哪種類型,都能在這裡找到心儀的作品。其簡(jiǎn)潔直觀的界面設(shè)計(jì),更讓你能夠輕鬆上手,快速找到想看的漫畫,沉浸在精彩紛呈的漫畫世界中。

包子漫畫(入口)_包子漫畫(新入口)2025 包子漫畫(入口)_包子漫畫(新入口)2025 Jun 05, 2025 pm 04:18 PM

在這裡,您可以盡情暢遊於浩瀚的漫畫海洋,探索各種題材和風(fēng)格的作品,從熱血激昂的少年漫,到細(xì)膩動(dòng)人的少女漫,從懸疑燒腦的推理漫,到輕鬆搞笑的日常漫,應(yīng)有盡有,總有一款能夠觸動(dòng)您的心弦。我們不僅擁有海量的正版漫畫資源,還不斷引進(jìn)和更新最新的作品,確保您能夠第一時(shí)間閱讀到您喜愛的漫畫。

See all articles