亚洲精品国产综合久久久久紧_97精品国产亚洲_人妻体内射精一区二区三区_国产精品原创在线观看不卡_一本在线免费视频
    微信公眾號接口調用說(shuō)明之一:常用接口及方法(v5.0)
    2021-12-15
  
前期工作

  調用微信公眾號接口前,請先熟悉微信公眾平臺開(kāi)發(fā)的前期準備工作與接口調用模式,具體詳情請參考:
  https://mp.weixin.qq.com/wiki

1、獲取access token

調用方法
  
weixin::get_access_token()

相關(guān)參數

  無(wú)

調用實(shí)例
  
$access_token = weixin::get_access_token();

2、網(wǎng)頁(yè)授權(獲取用戶(hù)openid)

  該接口網(wǎng)頁(yè)授權模式為snsapi_base,并且返回用戶(hù)的openid,在得到用戶(hù)openid后緩存起來(lái),以便后續使用。注意:不要將該方法作為獲取openid的手段。

調用方法
  
weixin::get_openid()

相關(guān)參數

  無(wú)

調用實(shí)例

  啟用網(wǎng)頁(yè)授權,并將得到openid緩存起來(lái)。   
$openid = weixin::get_openid();
$_SESSION['openid] = $openid;

3、POST提交json類(lèi)型數據

  發(fā)起微信公眾號接口可使用該方法,并將請求數據原樣返回(JSON)。

調用方法
  
weixin::post2json()

相關(guān)參數

  共2個(gè)必要參數,具體如下:
   1、待提交的json數據
   2、提交的接口網(wǎng)址,不可帶任何參數,包括“access_token=xxx”

調用實(shí)例

  發(fā)送消息模板   
$json = '{"touser": "abc", "template_id": "uWZSO", "url": "www.mlecms.com"}';
$send_result = weixin::post2json($json,"https://api.weixin.qq.com/cgi-bin/message/template/send"));
echo $send_result;

// 打印結果為接口返回的原樣數據,如:{"errcode": 40001, "errmsg": "invalid credential, access_token is invalid or not latest"}

4、POST上傳文件

調用方法
  
weixin::post2json_file()

相關(guān)參數

  共1個(gè)必要參數,具體如下:
   1、待提交的數據
   2、提交的接口網(wǎng)址

調用實(shí)例

  發(fā)送消息模板   
$data = array('media' => new CURLFile('demo.jpg'));
$url = "https://api.weixin.qq.com/customservice/kfaccount/uploadheadimg?access_token=abc&kf_account=123";
weixin::json2array(weixin::post2json_file($data,$url));

5、數組轉JSON格式

  與json_encode()方法類(lèi)似,可將數組轉換成JSON格式,并且處理中文轉碼問(wèn)題,如無(wú)特殊需求,并不建議使用該方法。
  注:PHP5.4+ 版本可直接使用 json_encode($data,JSON_UNESCAPED_UNICODE) ,無(wú)需使用該方法。

調用方法
  
weixin::array2json()

相關(guān)參數

  共1個(gè)必要參數,具體如下:
   1、待轉換的數組

調用實(shí)例

  將數據轉換JSON,并發(fā)送消息模板   
$data = array(
    "touser" => "abc",
    "template_id" => "uWZSO",
    "url" => "www.mlecms.com"
);
$send_result = weixin::post2json(weixin::array2json($data),"https://api.weixin.qq.com/cgi-bin/message/template/send"));

6、對象轉數組

調用方法
  
weixin::object2array()

相關(guān)參數

  共1個(gè)必要參數,具體如下:
   1、待轉換的對象

調用實(shí)例
  
weixin::object2array($obj);

7、設置cookie緩存

  該方法區別于setcookie()函數,使用緩存文件保存到服務(wù)器中,用于緩存全局數據,如:access token、微信用戶(hù)信息等。

調用方法
  
weixin::set_cookie()

相關(guān)參數

  共2個(gè)必要參數,2個(gè)可選參數,具體如下:
   1、變量名
   2、變量值
   3、文件名,默認為用戶(hù)openid,如果緩存全局通用數據需另起文件名
   4、有效期(秒),默認為3200秒

調用實(shí)例

  1、保存用戶(hù)微信信息到服務(wù)端cookie文件中,并記錄保存時(shí)間。   
// 獲取微信用戶(hù)信息
$wxuser = weixin::get_fans_info('abc');

// 保存微信用戶(hù)信息
weixin::set_cookie('wxuser',$wxuser);

// 記錄保存微信用戶(hù)信息的時(shí)間
weixin::set_cookie('wxuser_updatetime',time());

  2、緩存access token,有效時(shí)間為7200秒   
weixin::set_cookie('access_token','aaa','access_token_time');

8、獲取cookie緩存

  獲取由 weixin::set_cookie() 方法緩存的所有數據,返回一維數組。

調用方法
  
weixin::get_cookie()

相關(guān)參數

  共1個(gè)可選參數,具體如下:
   1、文件名,默認為當前用戶(hù)openid

調用實(shí)例

  1、獲取當前用戶(hù)的cookie   
$cookie = weixin::get_cookie();
echo $cookie['wxuser']['openid'];

  2、獲取緩存于cookie的access token   
$cookie = weixin::get_cookie('access_token_time');
echo $cookie['access_token'];

9、file_get_contents 替代函數

  如果服務(wù)器開(kāi)通了curl擴展,則使用curl發(fā)起請求,否則使用file_get_contents()函數。

調用方法
  
weixin::file_get_contents()

相關(guān)參數

  共1個(gè)必選參數,具體如下:
   1、待請求的url

調用實(shí)例
  
weixin::file_get_contents('http://www.mlecms.com')

10、返回碼轉換請求結果

  可以將微信公眾號接口返回的"errcode"轉換成錯誤信息

調用方法
  
weixin::code2msg()

相關(guān)參數

  共1個(gè)必選參數,具體如下:
   1、微信接口返回碼

調用實(shí)例

  發(fā)送模板消息,并將返回碼轉換成錯誤信息   
$data = array(
    "touser" => "abc",
    "template_id" => "uWZSO",
    "url" => "www.mlecms.com"
);
$send_result = weixin::post2json(weixin::array2json($data),"https://api.weixin.qq.com/cgi-bin/message/template/send"));
$msg = weixin::code2msg($send_result['errcode']);
echo $msg;

亚洲精品国产综合久久久久紧_97精品国产亚洲_人妻体内射精一区二区三区_国产精品原创在线观看不卡_一本在线免费视频