国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

微信公眾號(hào)第三方開(kāi)發(fā)平臺(tái)(一)

why_rookie / 1021人閱讀

摘要:二接收微信調(diào)用任何接口都需要這一步也是折騰我最久的,主要推送過(guò)來(lái)的信息是加密的我們需要將信息解密,解密出將該保存后面需要用到消息加解密接入指引這個(gè)頁(yè)面上可以下載對(duì)應(yīng)語(yǔ)言解密的我選擇的是,貌似有點(diǎn)問(wèn)題,自己改了下可以用了。

最近在做一個(gè)公眾號(hào)的工具,想使用公眾號(hào)的權(quán)限,第一步就是授權(quán),官方的文檔說(shuō)的不是很清楚,對(duì)于一個(gè)剛接觸的開(kāi)發(fā)者看起來(lái)是有點(diǎn)吃力的。

一、創(chuàng)建微信第三方應(yīng)用


說(shuō)下兩個(gè)比較重要的域名設(shè)置

授權(quán)事件接收URL

微信服務(wù)器會(huì)向這個(gè)地址推送一些信息包括(ComponentVerifyTicket、用戶取消應(yīng)用授權(quán)...)

公眾號(hào)消息與事件接收URL

用戶關(guān)注公眾號(hào)或發(fā)送信息對(duì)應(yīng)的信息會(huì)推送到這個(gè)地址。

其他幾個(gè)連接填你對(duì)應(yīng)的域名就行了。

二、接收component_verify_ticket

微信調(diào)用任何接口都需要component_verify_ticket,這一步也是折騰我最久的,主要推送過(guò)來(lái)的信息是加密的我們需要將信息解密,解密出component_verify_ticket將該ticket保存后面需要用到

消息加解密接入指引
這個(gè)頁(yè)面上可以下載對(duì)應(yīng)語(yǔ)言解密的demo,我選擇的是php,貌似有點(diǎn)問(wèn)題,自己改了下可以用了。

分享下php修改后解密的代碼
public function parseMess()
{
    $data = $_REQUEST;
    $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    $encryptMsg = $postStr;

    $xml_tree = new DOMDocument();
    $xml_tree->loadXML($encryptMsg);

    $array_e = $xml_tree->getElementsByTagName("Encrypt");
    $encrypt = $array_e->item(0)->nodeValue;

    $msg_sign = $data["msg_signature"];
    $format = "";
    $from_xml = sprintf($format, $encrypt);

    $msg = "";
    $this->load->library("openweixin/wxBizMsgCrypt");    //改文件在php的demo包里面,加載過(guò)來(lái)就行

    $pc = new WXBizMsgCrypt($this->token, $this->key, $this->appid);

    $timeStamp = $data["timestamp"];
    $nonce = $data["nonce"];
    $errCode = $pc->decryptMsg($msg_sign, $timeStamp, $nonce, $from_xml, $msg);
    if ($errCode == 0) {
       $postObj = simplexml_load_string($msg, "SimpleXMLElement", LIBXML_NOCDATA);
       $data = (array)$postObj;
       return $data;
    } 
接收微信服務(wù)推送的消息都需要解密,該方法都可以解密。 三、獲取第三方平臺(tái)component_access_token (調(diào)用接口需要的基礎(chǔ)參數(shù))

component_access_token這個(gè)參數(shù)也需要保存,后面也會(huì)重復(fù)用到。
這個(gè)參數(shù)的有效期是2個(gè)小時(shí),所以定時(shí)每2小時(shí)執(zhí)行下面的程序來(lái)更新component_access_token

public function getToken()
{
    $ticket = $component_verify_ticket; //component_verify_ticket之前已經(jīng)保存了,從數(shù)據(jù)庫(kù)中獲取
    $post = array(
        "component_appid" => $this->appid,        //應(yīng)用詳情中的AppID
        "component_appsecret" => $this->secret,   //應(yīng)用詳情中的AppSecret
        "component_verify_ticket" => $ticket,
    );
    $ret=send_post("https://api.weixin.qq.com/cgi-bin/component/api_component_token", $post);
    $result = json_decode($ret, True);
    $component_access_token = $result["component_access_token"];
    //保存component_access_token
    echo "success";
}
    
//發(fā)送post請(qǐng)求
function send_post($url, $post_data) {
    $postdata=json_encode($post_data);
    $options = array(
        "http" => array(
            "method" => "POST",
            "header" => "Content-type:application/x-www-form-urlencoded",
            "content" => $postdata,
            "timeout" => 15 * 60 // 超時(shí)時(shí)間(單位:s)
        )
    );
    $context = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
    return $result;
}

獲取預(yù)授權(quán)碼pre_auth_code

有限時(shí)間是10分鐘,所以定時(shí)執(zhí)行每過(guò)10分鐘來(lái)刷新一次pre_auth_code

    //刷新pre_auth_code
    public function refresh_pre()
    {
        $info = getData("system_config", array("type" => "component_access_token"), array(), 1);
        $component_access_token = $info ["value"];
        $url = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=".$component_access_token;
        $post = array("component_appid" => $this->appid);
        $ret=send_post($url, $post);
        $result = json_decode($ret, True);
        $pre_auth_code = $result["pre_auth_code"];
        //保存pre_auth_code
        echo "success";
    }

這是我的個(gè)人網(wǎng)站今日Tech 喜歡科技新聞的朋友可以收藏下。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/22142.html

相關(guān)文章

  • 微信公眾號(hào)三方開(kāi)發(fā)平臺(tái)(二)

    摘要:微信公眾號(hào)第三方開(kāi)發(fā)平臺(tái)一之前的文章是獲取調(diào)用接口的一些基本參數(shù),繼續(xù)開(kāi)發(fā)微信開(kāi)放平臺(tái)。 微信公眾號(hào)第三方開(kāi)發(fā)平臺(tái)(一) 之前的文章是獲取調(diào)用接口的一些基本參數(shù),繼續(xù)開(kāi)發(fā)微信開(kāi)放平臺(tái)。 一、授權(quán)公眾號(hào),獲取公眾號(hào)的授權(quán)參數(shù) public function tiaozhuan() { $info = getData(system_config, array...

    hearaway 評(píng)論0 收藏0
  • 微信三方登錄接口開(kāi)發(fā)

    摘要:相關(guān)資料博客微信第三方登錄接口開(kāi)發(fā)端微信掃碼登錄文檔移動(dòng)端網(wǎng)頁(yè)微信公眾平臺(tái)授權(quán)登錄微信開(kāi)放平臺(tái)登錄與微信公眾平臺(tái)授權(quán)登錄區(qū)別在哪微信登錄接口幾個(gè)問(wèn)題微信登錄的和區(qū)別百分號(hào)編碼在線轉(zhuǎn)換第三方登錄 微信登錄接口開(kāi)發(fā)須知 APP登錄接口 PC網(wǎng)站登錄接口 微信移動(dòng)網(wǎng)頁(yè)登錄接口(又稱微信公眾號(hào)授權(quán)登錄) 移動(dòng)端非微信自帶瀏覽不支持微信登錄 微信移動(dòng)網(wǎng)頁(yè)登錄接口(又稱微信公眾號(hào)授權(quán)登錄) ...

    ziwenxie 評(píng)論0 收藏0
  • 微信公眾號(hào)支付開(kāi)發(fā)全過(guò)程(java版)

    摘要:一微信官方文檔微信支付開(kāi)發(fā)流程公眾號(hào)支付首先我們到微信支付的官方文檔的開(kāi)發(fā)步驟部分查看一下需要的設(shè)置。配置微信公眾賬號(hào)支付配置支付類所有方法都在這個(gè)類里發(fā)起支付微信公眾賬號(hào)支付訂單異步回調(diào)這就是這個(gè)所說(shuō)的行代碼解決微信支付。 文章有不當(dāng)之處,歡迎指正,如果喜歡微信閱讀,你也可以關(guān)注我的微信公眾號(hào):好好學(xué)java,獲取優(yōu)質(zhì)學(xué)習(xí)資源。 一、微信官方文檔微信支付開(kāi)發(fā)流程(公眾號(hào)支付) 首先我...

    Shimmer 評(píng)論0 收藏0
  • 淺析微信支付:前篇大綱

    摘要:淺析微信支付前篇大綱本文是淺析微信支付系列文章的第一篇,主要會(huì)介紹一下為何寫下這個(gè)系列以及對(duì)于微信支付的一點(diǎn)小經(jīng)驗(yàn),與君共勉。下面講一下我是如何去學(xué)習(xí)微信支付的。 淺析微信支付:前篇大綱 本文是【淺析微信支付】系列文章的第一篇,主要會(huì)介紹一下為何寫下這個(gè)系列以及對(duì)于微信支付的一點(diǎn)小經(jīng)驗(yàn),與君共勉。 以下會(huì)分幾個(gè)步驟講一下我學(xué)習(xí)微信支付的過(guò)程,也是一部辛酸史,也是希望朋友們不要再次跌進(jìn)...

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

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

0條評(píng)論

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