微信開發 PHP 初探 2

2021-07-08 10:11:58 字數 2418 閱讀 5956

介面呼叫請求說明

http請求方式:post(請使用https協議)
所以呼叫界面前,我們先要把access_token儲存下來,用來呼叫各種介面。

新建乙個token.php檔案

<?php

$secret = "9cf2780ea0db8401d8151448ddb381f6";

$ch = curl_init();

curl_setopt($ch, curlopt_url,$url);

curl_setopt($ch, curlopt_returntransfer, 1);

$rs = curl_exec($ch);

$data = json_decode($rs);

var_dump($data);

?>

返回值:

object(stdclass)#1 (2)

access_token    獲取到的憑證

expires_in 憑證有效時間,單位:秒

可以看到有效時間為7200秒,因為介面呼叫每天有限制,不能每次都去呼叫,產生乙個新的access_token,所以將access_token儲存起來,判斷時間是否過期,如過期就重新再取一次。

如下**,將介面返回的json資料存進tokenfile,然後通過tokenfile檔案的修改時間,判斷是否過期

<?php

$m_time = filemtime("tokenfile");

$n_time = time();

$fs = file_get_contents("tokenfile");

$data = json_decode($fs);

$expires_in = intval($data->expires_in);

if($n_time - $m_time > $expires_in) else

?>

在呼叫時只需加上include(「token.php」),即可在程式中使用$access_token 呼叫access_token。

得到$access_token後,就可以通過介面生成選單了。

<?php

class wxaction

//取全域性憑證access_token

$m_time = filemtime("tokenfile");

$n_time = time();

$fs = file_get_contents("tokenfile");

$data = json_decode($fs);

$expires_in = intval($data->expires_in);

if($n_time - $m_time > $expires_in) else

return $access_token;

}public function docurlgetrequest($url)

function docurlpostrequest($url, $jsondata)

return $result;

}//生成自定義選單

public function createmenu($access_token,$menu_arr)

//取使用者資訊

public function getuserinfo($access_token,$openid,$lang) &openid=&lang=";

$rs = $this->docurlgetrequest($url);

return $rs;

}}

生成選單的**:

<?php

$secret = "9cf2780ea0db8401d8151448ddb381f6";

include("class/wxaction.class.php");

$wx = new wxaction();

$menu_arr =',,,

,]},,

,,,]

},,,,

,]

}]}';

$rs = $wx->createmenu($access_token,$menu_arr);

echo $rs;

假如通過資料庫訪問menu,通過php的json_encode函式構造menu_arr的話,要注意中文字元,因為json_encode缺省會轉義中文,導致

出現該報錯,解決辦法:

如果php版本是5.4+, 乙個引數json_unescaped_unicode就能搞定。

json_encode($data, json_unescaped_unicode);

微信開發 PHP 初探 1

首先,要有一台自己能控制的伺服器和網域名稱,因本人用的php,以下都以php語言為例。在正式開發之前,先申請測試號用來測試 會要求你輸入你的url和token url是用來驗證伺服器位址的有效性 token自己設定,必須與你的url中設的token值相同 參照給出的示例 在伺服器上新建index.p...

微信公眾平台開發初探

注意 因為對於個人一般申請不了服務號,這需要提供營業執照等,非常麻煩,所以一般我們申請訂閱號。資料互動分為兩個場景 6.公眾賬號的使用模式 公眾賬號的使用模式包括編輯模式和開發者模式。編輯模式就是在4中使用的一些回覆功能等 注意 必須在停用開發者模式的情況下才能使用編輯模式 這是編輯模式,提供的功能...

php微信開發接入指南

這是從開發者文件上面弄下來的,下圖就是接入的地方,在開發者中心 伺服器的配置,url 就是你的伺服器的url 要能響應token驗證,還要能在外網訪問到這個伺服器,因為自己有伺服器用就不說多了,沒有伺服器的可以用sae,在上面申請,不過好像要實名認證,encodingaeskey 直接點選隨機生成就...