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

首頁 微信小程式 微信開發(fā) 微信公眾平臺開發(fā)-群發(fā)訊息

微信公眾平臺開發(fā)-群發(fā)訊息

Feb 20, 2017 pm 02:44 PM
微信大眾平臺

本文主要介紹微信公眾平臺開發(fā)群發(fā)信息,這裡整理了詳細的資料來說明微信公共平臺群發(fā)信息的流程,有需要的小伙伴可以參考下

1、目的

  完成在微信公眾號中群發(fā)訊息。這裡只是完成簡單的文字發(fā)送。也可以發(fā)送語音圖片等,只是發(fā)送數(shù)據(jù)格式不同而已,下面有鏈接,可以查詢數(shù)據(jù)類型的數(shù)據(jù)發(fā)送格式。

2、群發(fā)簡訊的流程

  1. 取得測試公眾帳號(有帳號的可以不用測試帳號,不過正式的帳號限制比較多)

  2. 用戶關注上面的公眾帳號

  3. 透過appid和appsecret取得我們的access_token

    *??&*
  4. 透過access_token群發(fā)送簡訊


3、取得測試公眾帳號+ 追蹤公眾號碼

1)、公眾測驗帳號取得

  訪問上面的連接,選擇“接口測試號碼申請”獲得直接打開http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index透過微信客戶端掃碼登入即可登入。

  登入即可取得一個測試公眾帳號的資訊。主要有appId和appsecret兩個參數(shù),這將唯一標示一個公眾號,並且需要將他們作為參數(shù)來獲取使用者的資訊。 、

微信公眾平臺開發(fā)-群發(fā)訊息

2)、設定介面資訊

這一步可以參考微信存取說明,該頁提供一個php的實例下載,很簡單基本上修改一下自訂的TOKEN就好了,然後把驗證頁面放到自己的伺服器上。

?????? 提供我做的例子:

??????? 準備資源:

??????? 網(wǎng)域+空間(我的是sae空間驗證+萬網(wǎng)網(wǎng)域名稱)、僅使用萬網(wǎng)網(wǎng)域名稱)、僅有驗證檔案

??????? 網(wǎng)域所指向的空間根目錄我建立了一個wx_sample.php

wx_sample.php

<?php
/**
 * wechat php test
 */

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();

class wechatCallbackapiTest
{
 public function valid()
 {
  $echoStr = $_GET["echostr"];

  //valid signature , option
  if($this->checkSignature()){
   echo $echoStr;
   exit;
  }
 }

 public function responseMsg()
 {
  //get post data, May be due to the different environments
  $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

   //extract post data
  if (!empty($postStr)){
    /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
     the best way is to check the validity of xml by yourself */
    libxml_disable_entity_loader(true);
     $postObj = simplexml_load_string($postStr, ‘SimpleXMLElement‘, LIBXML_NOCDATA);
    $fromUsername = $postObj->FromUserName;
    $toUsername = $postObj->ToUserName;
    $keyword = trim($postObj->Content);
    $time = time();
    $textTpl = "<xml>
       <ToUserName><![CDATA[%s]]></ToUserName>
       <FromUserName><![CDATA[%s]]></FromUserName>
       <CreateTime>%s</CreateTime>
       <MsgType><![CDATA[%s]]></MsgType>
       <Content><![CDATA[%s]]></Content>
       <FuncFlag>0</FuncFlag>
       </xml>";    
    if(!empty( $keyword ))
    {
      $msgType = "text";
     $contentStr = "Welcome to wechat world!";
     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
     echo $resultStr;
    }else{
     echo "Input something...";
    }

  }else {
   echo "";
   exit;
  }
 }
  
 private function checkSignature()
 {
  // you must define TOKEN by yourself
  if (!defined("TOKEN")) {
   throw new Exception(‘TOKEN is not defined!‘);
  }
  
  $signature = $_GET["signature"];
  $timestamp = $_GET["timestamp"];
  $nonce = $_GET["nonce"];
    
  $token = TOKEN;
  $tmpArr = array($token, $timestamp, $nonce);
  // use SORT_STRING rule
  sort($tmpArr, SORT_STRING);
  $tmpStr = implode( $tmpArr );
  $tmpStr = sha1( $tmpStr );
  
  if( $tmpStr == $signature ){
   return true;
  }else{
   return false;
  }
 }
}

?>

 然後填寫設定資訊Token (一定要與上面的wx_sample.php中的token一致)、URL(wx_sample.php的位址)

微信公眾平臺開發(fā)-群發(fā)訊息

?然後提交就可以了

  如果提示失敗,請檢查Token與URL【如果是自己的網(wǎng)域和空間,請備案; 百度sae、新浪sae的需要自己申請而且認證通過(就是自己拍一個手握證件照上傳,很簡單的最短2天就o了),這一步驟必須】

?3)設定JS介面安全網(wǎng)域

  填這個網(wǎng)域是一定不要帶protocol的,比如說http://www.sagosoft. com/;? 這樣是不對的,這是URL不是網(wǎng)域

  網(wǎng)域應該是類似www.sagosoft.com這樣的【否則在微信js-sdk接入時會提示invalid url domain】

微信公眾平臺開發(fā)-群發(fā)訊息

4)關注公眾號

  用戶只有關注了這個公眾號了,才能通過打開有公眾號信息的鏈接去授權(quán)第三方登錄,並獲取用戶信息的操作。故我們還需要用我們的微信關注微信號,操作如下:

  還是剛剛那個登錄成功後跳轉(zhuǎn)的頁面,我們可以看到,該頁面有一個二維碼,我們可以通過掃描該二維碼進行關注,關注成功在右邊的「用戶列表」會多一個用戶的信息。如下圖所示:


微信公眾平臺開發(fā)-群發(fā)訊息

5)配置回呼函數(shù)

我們在微信客戶端訪問第三方網(wǎng)頁(即我們自己的網(wǎng)頁)的時候,我們可以透過微信網(wǎng)頁授權(quán)機制,我們不僅要有前面獲取到的appid和appsecret還需要有當用戶授權(quán)之後,回調(diào)的域名設置,即用戶授權(quán)後,頁面會跳到哪裡。具體的配置如下:

  還是在剛剛的頁面,有一個“網(wǎng)頁授權(quán)獲取用戶基本信息”,點擊後面的修改

微信公眾平臺開發(fā)-群發(fā)訊息

填寫回呼的域名:

  域名是上面配置的根域名,假如你上面“接口配置信息” 填寫的url 為zcr.sinaaappc.com/wx_sample.php,這裡只要填寫zcr.sinaaappc .com? 就可以了。

微信公眾平臺開發(fā)-群發(fā)訊息

  如果你的網(wǎng)址沒有被列入過黑名單,就會在頂部出現(xiàn)

微信公眾平臺開發(fā)-群發(fā)訊息

微信公眾平臺開發(fā)-群發(fā)訊息

注意:

1、這裡填寫的是域名(是一個字串),而不是URL,因此請勿加http://等協(xié)議頭;
2、授權(quán)回呼域名配置規(guī)格為全域名,例如需要網(wǎng)頁授權(quán)的域名為:www.qq.com,配置以後此域名下面的頁面http://www.qq.com/music.html?、 ?http://www.qq .com/login.html?都可以進行OAuth2.0鑑定。但ttp://pay.qq.com? 、http://music.qq.com 、 http://qq.com無法進行OAuth2.0鑑權(quán)

  到這裡,我們就完成了公眾號測試帳號的取得和配置,已經(jīng)用戶關注微信公眾號。

4、透過appid和appsecret取得我們的access_token*??&*

  access_token是公眾號的全域唯一票據(jù),公眾號呼叫各介面時都需使用access_token。開發(fā)者需要進行妥善保存。 access_token的儲存至少要保留512個字元空間。 access_token的有效期限目前為2小時,需定時刷新,重複取得將導致上次取得的access_token失效。

取得方法:

http請求方式: GET

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

參數(shù)說明


參數(shù)是否必須說明grant_type是取得access_token填入client_credentialappid是第三方使用者唯一憑證secret是第三方使用者唯一憑證金鑰,即appsecret
回傳說明

正常情況下,微信會傳回下述JSON封包給公眾號碼:

{"access_token":"ACCESS_TOKEN","expires_in" :7200}?


參數(shù)說明access_token取得的憑證expires_in

錯誤時微信會返回錯誤碼等信息,JSON數(shù)據(jù)包示例如下(該示例為AppID無效錯誤):

{"errcode":40013,"errmsg":"invalid appid"}

例子:

獲取access_token:

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx41cb8dbd827a16e9&secret=d4624c36b6795d1d99dcf0547af5443d

返回數(shù)據(jù):

{
 "access_token": "qR5UK2vMf5aTHV8e-uB10FZW0caTZm_1kbkUe4OPK2ILVvNaoa7pLzYWqLUAmx6Sjq1E7pKHrVAtuG0_1MPkqmDfOkm2750kaLWNk59DS-iDOpjjxompJtXa3WhbN5FKRWNhADAVAR",
 "expires_in": 7200
}

5、通過access_token群發(fā)短信

  在公眾平臺網(wǎng)站上,為訂閱號提供了每天一條的群發(fā)權(quán)限,為服務號提供每月(自然月)4條的群發(fā)權(quán)限。而對于某些具備開發(fā)能力的公眾號運營者,可以通過高級群發(fā)接口,實現(xiàn)更靈活的群發(fā)能力。

請注意:

1、對于認證訂閱號,群發(fā)接口每天可成功調(diào)用1次,此次群發(fā)可選擇發(fā)送給全部用戶或某個分組;
2、對于認證服務號雖然開發(fā)者使用高級群發(fā)接口的每日調(diào)用限制為100次,但是用戶每月只能接收4條,無論在公眾平臺網(wǎng)站上,還是使用接口群發(fā),用戶每月只能接收4條群發(fā)消息,多于4條的群發(fā)將對該用戶發(fā)送失?。?br/>3、具備微信支付權(quán)限的公眾號,在使用群發(fā)接口上傳、群發(fā)圖文消息類型時,可使用標簽加入外鏈;
4、開發(fā)者可以使用預覽接口校對消息樣式和排版,通過預覽接口可發(fā)送編輯好的消息給指定用戶校驗效果。

1)根據(jù)分組進行群發(fā)【訂閱號與服務號認證后均可用】

調(diào)用接口:

http請求方式: POST
https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN 在body添加如下數(shù)據(jù)(以JSON格式數(shù)據(jù)發(fā)送)——發(fā)送其他格式數(shù)據(jù),只需要改里面參數(shù)信息即可,具體可查看微信官方文檔:

{
 "filter":{
  "is_to_all":false,
  "group_id":2
 },
 "text":{
  "content":"CONTENT"
 },
 "msgtype":"text"
}

參數(shù)說明:


*??&*憑證有效時間,單位:秒
參數(shù)是否必須說明
filter用于設定圖文消息的接收者
is_to_all用于設定是否向全部用戶發(fā)送,值為true或false,選擇true該消息群發(fā)給所有用戶,選擇false可根據(jù)group_id發(fā)送給指定群組的用戶
group_id群發(fā)到的分組的group_id,參加用戶管理中用戶分組接口,若is_to_all值為true,可不填寫group_id
mpnews用于設定即將發(fā)送的圖文消息
media_id用于群發(fā)的消息的media_id
msgtype群發(fā)的消息類型,圖文消息為mpnews,文本消息為text,語音為voice,音樂為music,圖片為image,視頻為video,卡券為wxcard
title消息的標題
description消息的描述
thumb_media_id視頻縮略圖的媒體ID

例子:發(fā)送給所有人

url:

https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=KBoNONaJZ4-KhafQVJoQ6VBX0F-bls7nAsJBn8Fy7GLwav4Be1lRJcob1RHH6wW35IxxFwkJnZfnc-On9EQITg3oxEWUw7O2YyVW9naDknu6PQX9fnSmQcr8ojTK8Ug-HDTcAAABXN

發(fā)送的json數(shù)據(jù):發(fā)送給所有人

{
 "filter":{
  "is_to_all":true
 },
 "text":{
  "content":"CONTENT"
 },
 "msgtype":"text"
}

返回數(shù)據(jù):

{
 "errcode": 0,
 "errmsg": "send job submission success",
 "msg_id": 1000000003
}

參數(shù)意義:

參數(shù)說明
type媒體文件類型,分別有圖片(image)、語音(voice)、視頻(video)和縮略圖(thumb),圖文消息為news
errcode錯誤碼
errmsg錯誤信息
msg_id消息發(fā)送任務的ID
msg_data_id消息的數(shù)據(jù)ID,該字段只有在群發(fā)圖文消息時,才會出現(xiàn)??梢杂糜谠趫D文分析數(shù)據(jù)接口中,獲取到對應的圖文消息的數(shù)據(jù),是圖文分析數(shù)據(jù)接口中的msgid字段中的前半部分,詳見圖文分析數(shù)據(jù)接口中的msgid字段的介紹。

錯誤碼及其以及查詢:

使用postman模擬https請求發(fā)送如下圖所示:

微信公眾平臺開發(fā)-群發(fā)訊息

2)根據(jù)OpenID列表群發(fā)【訂閱號不可用,服務號認證后可用】

發(fā)送的http請求url:(注意:和上面的不同)

http請求方式: POST
https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=ACCESS_TOKEN

數(shù)據(jù)格式:

{
 "touser":[
 "OPENID1",
 "OPENID2"
 ],
 "msgtype": "text",
 "text": { "content": "hello from boxer."}
}

其中 OPENID1和OPENID2是我們要發(fā)送的微信用戶openId(用戶的唯一標示)。

例子:

發(fā)送"oF3PcsnsrMiJzEwalZZbAfWQpxCI","oF3PcshH1CUIhR_WYau6swUiPzlw" 兩個用戶。

內(nèi)容為:hello from boxer.歡迎來到百度

url:

https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=wRyTbnsiu18ssEhMPLf4bDfeT-Bt6e6tgR4CQGVLBipRcyJPkdAKPYfM6-qkKuHUN8uRKJh6Xvm0OuAdFgqOo8Ru8hoDxl-cGc9bh-ezJb2ZUcJSnQk2s416zI8kbEOfOGYdAFARJB

json數(shù)據(jù):

{
 "touser":[
 "oF3PcsnsrMiJzEwalZZbAfWQpxCI",
 "oF3PcshH1CUIhR_WYau6swUiPzlw"
 ],
 "msgtype": "text",
 "text": { "content": "hello from boxer.<a href=‘http://ipnx.cn/‘>歡迎希沃學院</a>"}
}

返回數(shù)據(jù):

{
 "errcode": 0,
 "errmsg": "send job submission success",
 "msg_id": 3147483654
}

使用postman模擬發(fā)送請求如下:

微信公眾平臺開發(fā)-群發(fā)訊息

微信號接收到的內(nèi)容:

微信公眾平臺開發(fā)-群發(fā)訊息


更多微信公眾平臺開發(fā)-群發(fā)訊息相關文章請關注PHP中文網(wǎng)!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72