成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

PHP微信公眾號(hào)開(kāi)發(fā)——群發(fā)消息(完結(jié))

bbbbbb / 1700人閱讀

摘要:關(guān)于上傳圖文消息素材和新增永久圖文素材的區(qū)別上傳圖文消息素材等于是直接把圖文素材傳到微信的服務(wù)器,每次憑借獲取素材,并且不占用素材庫(kù)新增永久圖文素材在開(kāi)發(fā)者和微信服務(wù)器之間,多了一個(gè)素材庫(kù)。

**說(shuō)明
1.文章和有道筆記幾乎內(nèi)容相同,所以如果有人在有道上有幸看到一樣的文章,應(yīng)該也是我寫(xiě)的,除非是全部復(fù)制
2.內(nèi)容會(huì)較長(zhǎng),故會(huì)拆分多篇文章講解
3.目前基本的群發(fā)已記錄完結(jié),如果后續(xù)有補(bǔ)充,會(huì)作說(shuō)明**


一.官方文檔
高級(jí)群發(fā)接口
https://mp.weixin.qq.com/wiki...


二.關(guān)于群發(fā)接口
1.訂閱號(hào)每天可以群發(fā)消息一條,服務(wù)號(hào)每月(自然月)四條的群發(fā)權(quán)限。開(kāi)發(fā)者模式下,可以通過(guò)高級(jí)群發(fā)接口,實(shí)現(xiàn)更靈活的群發(fā)能力。
2.注意
● 對(duì)于認(rèn)證訂閱號(hào),群發(fā)接口每天可成功調(diào)用1次,此次群發(fā)可選擇發(fā)送給全部用戶(hù)或某個(gè)標(biāo)簽;
● 對(duì)于認(rèn)證服務(wù)號(hào)雖然開(kāi)發(fā)者使用高級(jí)群發(fā)接口的每日調(diào)用限制為100次,但是用戶(hù)每月只能接收4條,無(wú)論在公眾平臺(tái)網(wǎng)站上,還是使用接口群發(fā),用戶(hù)每月只能接收4條群發(fā)消息,多于4條的群發(fā)將對(duì)該用戶(hù)發(fā)送失敗;
● 具備微信支付權(quán)限的公眾號(hào),在使用群發(fā)接口上傳、群發(fā)圖文消息類(lèi)型時(shí),可使用a標(biāo)簽加入外鏈;

● 開(kāi)發(fā)者可以使用預(yù)覽接口校對(duì)消息樣式和排版,通過(guò)預(yù)覽接口可發(fā)送編輯好的消息給指定用戶(hù)校驗(yàn)效果。
通俗的說(shuō)就是
● 服務(wù)號(hào)一個(gè)月只能發(fā)四條消息,雖然一個(gè)月就四條 但它是即時(shí)呈現(xiàn)到客戶(hù)眼前 只要你打開(kāi)微信就有一條未讀
● 訂閱號(hào)每天一條,但訂閱號(hào)所有的商家都在一起顯示,而且不會(huì)主動(dòng)提醒,需要你點(diǎn)開(kāi)服務(wù)號(hào)才可以看到
● 一條群發(fā)消息里,是可以包括多條圖文消息。
● 群發(fā)的消息不包括商家推送消息等其他消息類(lèi)型。
如下所示,為京東的服務(wù)號(hào)消息界面。上面的是群發(fā)消息,下面是發(fā)貨通知消息。

這就是為什么有的人會(huì)疑惑,自己接受來(lái)自服務(wù)號(hào)的消息1個(gè)月不止4條,或者接受的消息怎么有好幾條。
3.群發(fā)圖文消息的過(guò)程
● 首先,預(yù)先將圖文消息中需要用到的圖片,使用上傳圖文消息內(nèi)圖片接口,上傳成功并獲得圖片URL
● 上傳圖文消息素材,需要用到圖片時(shí),請(qǐng)使用上一步獲取的圖片URL
● 使用對(duì)用戶(hù)標(biāo)簽的群發(fā),或?qū)penID列表的群發(fā),將圖文消息群發(fā)出去
● 在上述過(guò)程中,如果需要,還可以預(yù)覽圖文消息、查詢(xún)?nèi)喊l(fā)狀態(tài),或刪除已群發(fā)的消息等
4.群發(fā)圖片、文本等其他消息類(lèi)型的過(guò)程
● 如果是群發(fā)文本消息,則直接根據(jù)下面的接口說(shuō)明進(jìn)行群發(fā)即可
● 如果是群發(fā)圖片、視頻等消息,則需要預(yù)先通過(guò)素材管理接口準(zhǔn)備好mediaID

5.關(guān)于群發(fā)時(shí)使用is_to_all為true使其進(jìn)入公眾號(hào)在微信客戶(hù)端的歷史消息列表
● 使用is_to_all為true且成功群發(fā),會(huì)使得此次群發(fā)進(jìn)入歷史消息列表。
● 為防止異常,認(rèn)證訂閱號(hào)在一天內(nèi),只能使用is_to_all為true進(jìn)行群發(fā)一次,或者在公眾平臺(tái)官網(wǎng)群發(fā)(不管本次群發(fā)是對(duì)全體還是對(duì)某個(gè)分組)一次。以避免一天內(nèi)有2條群發(fā)進(jìn)入歷史消息列表。
● 類(lèi)似地,服務(wù)號(hào)在一個(gè)月內(nèi),使用is_to_all為true群發(fā)的次數(shù),加上公眾平臺(tái)官網(wǎng)群發(fā)(不管本次群發(fā)是對(duì)全體還是對(duì)某個(gè)分組)的次數(shù),最多只能是4次。
● 設(shè)置is_to_all為false時(shí)是可以多次群發(fā)的,但每個(gè)用戶(hù)只會(huì)收到最多4條,且這些群發(fā)不會(huì)進(jìn)入歷史消息列表。

注意
1.本接口中所有使用到media_id的地方,現(xiàn)在都可以使用素材管理中的永久素材media_id了。請(qǐng)但注意,使用同一個(gè)素材群發(fā)出去的鏈接是一樣的,這意味著,刪除某一次群發(fā),會(huì)導(dǎo)致整個(gè)鏈接失效。
2.建議使用開(kāi)發(fā)者模式的情況下,先使用預(yù)覽接口,因?yàn)榻涌诿咳湛梢哉{(diào)取100次。預(yù)覽達(dá)到預(yù)期效果后,才使用正式接口(openId列表群發(fā))。
6.附說(shuō)明:getWxAccessToken和https_request分別是我代碼中關(guān)于獲取微信全局token和調(diào)用第三方接口的方法。


三.群發(fā)消息接口——關(guān)于素材與接口
初學(xué)者很容易分不清楚開(kāi)發(fā)文章當(dāng)中,’素材管理‘與’消息管理-群發(fā)接口‘中,一些操作步驟的區(qū)別和用途,本人當(dāng)時(shí)也是饒了很多坑,各種搜索與詢(xún)問(wèn),故記錄下來(lái),為的就是日后能夠幫助同行少繞彎路,以及自己日后的溫習(xí)。如有錯(cuò)誤的地方,懇請(qǐng)不臨指教,謝謝。
1.官文鏈接
● 高級(jí)群發(fā)
https://mp.weixin.qq.com/wiki...
● 素材管理
https://mp.weixin.qq.com/wiki...
2.關(guān)于素材
● 素材:在微信開(kāi)發(fā)中,素材指的就是原始的媒體文件(如圖片、視頻、聲音等)以及圖文類(lèi)型的文件
● 媒體文件是最基礎(chǔ)的素材,圖文素材等(比如含其他媒體文件的文件素材)其他素材需要獲取到基礎(chǔ)媒體文件素材,這個(gè)看具體也無(wú)需求
● 也就是說(shuō),你也可以選擇在群發(fā)消息的時(shí)候,發(fā)純文本素材
● 媒體素材通過(guò)接口上傳成功后,都會(huì)有一個(gè)媒體id,也就是media_id,這個(gè)媒體id用在之后需要調(diào)用的時(shí)候,是個(gè)關(guān)鍵。

 注意

● 上傳圖片素材分兩種:返回URL和返回media_id
● 素材管理分兩大類(lèi):永久和臨時(shí)
3.臨時(shí)素材與永久素材
● 臨時(shí)素材
公眾號(hào)經(jīng)常有需要用到一些臨時(shí)性的多媒體素材的場(chǎng)景,例如在使用接口特別是發(fā)送消息時(shí),對(duì)多媒體文件、多媒體消息的獲取和調(diào)用等操作,是通過(guò)media_id來(lái)進(jìn)行的。素材管理接口對(duì)所有認(rèn)證的訂閱號(hào)和服務(wù)號(hào)開(kāi)放。通過(guò)本接口,公眾號(hào)可以新增臨時(shí)素材(即上傳臨時(shí)多媒體文件)。
請(qǐng)注意:
1、對(duì)于臨時(shí)素材,每個(gè)素材(media_id)會(huì)在開(kāi)發(fā)者上傳或粉絲發(fā)送到微信服務(wù)器3天后自動(dòng)刪除(所以用戶(hù)發(fā)送給開(kāi)發(fā)者的素材,若開(kāi)發(fā)者需要,應(yīng)盡快下載到本地),以節(jié)省服務(wù)器資源。
2、media_id是可復(fù)用的。
3、素材的格式大小等要求與公眾平臺(tái)官網(wǎng)一致。具體是,圖片大小不超過(guò)2M,支持png/jpeg/jpg/gif格式,語(yǔ)音大小不超過(guò)5M,長(zhǎng)度不超過(guò)60秒,支持mp3/amr格式
4、需使用https調(diào)用本接口。
● 永久素材
除了3天就會(huì)失效的臨時(shí)素材外,開(kāi)發(fā)者有時(shí)需要永久保存一些素材,屆時(shí)就可以通過(guò)本接口新增永久素材。
最近更新,永久圖片素材新增后,將帶有URL返回給開(kāi)發(fā)者,開(kāi)發(fā)者可以在騰訊系域名內(nèi)使用(騰訊系域名外使用,圖片將被屏蔽)。
請(qǐng)注意:
1、新增的永久素材也可以在公眾平臺(tái)官網(wǎng)素材管理模塊中看到
2、永久素材的數(shù)量是有上限的,請(qǐng)謹(jǐn)慎新增。圖文消息素材和圖片素材的上限為5000,其他類(lèi)型為1000
3、素材的格式大小等要求與公眾平臺(tái)官網(wǎng)一致。具體是,圖片大小不超過(guò)2M,支持bmp/png/jpeg/jpg/gif格式,語(yǔ)音大小不超過(guò)5M,長(zhǎng)度不超過(guò)60秒,支持mp3/wma/wav/amr格式
4、調(diào)用該接口需https協(xié)議
注意
● “永久素材”里的“最近更新...”文字所說(shuō)的返回URL,就是前面提到的上傳圖片素材種類(lèi)之一:返回圖片URL

      臨時(shí)素材與永久素材的不同之處

4.素材與群發(fā)接口的結(jié)合使用(以下講解的素材均以永久素材來(lái)說(shuō)明)
第一步:上傳圖片
前面有提過(guò),上傳圖片素材分兩種,主要是返回參數(shù)的不同
a.返回media_id(其實(shí)可以同時(shí)返回media_id和url)——文檔名:新增其他類(lèi)型永久素材


使用說(shuō)明
● 傳入?yún)?shù):全局token和類(lèi)型type
● 返回:media_id和url
● 可以根據(jù)業(yè)務(wù)邏輯需求,只返回media_id或者做判斷
● 注意:視頻素材的請(qǐng)求鏈接是不同的
● 使用:URL可以直接放在群發(fā)消息之圖文消息中的img標(biāo)簽,media_id可以用在圖文消息的封面圖片id。
b.只返回URL——文檔名:上傳圖文消息內(nèi)的圖片獲取URL

使用說(shuō)明
● 傳入?yún)?shù):全局token
● 返回:url
● URL作用:放在圖文消息中使用(使用img標(biāo)簽)。
c.總結(jié):只返回URL和返回media_id的區(qū)別就在于使用地方的不同,當(dāng)然返回media_id的方法也可以返回URL。media_id用于群發(fā)圖文消息的封面,url用在文本的Img標(biāo)簽。
第二步:上傳圖文素材等文件素材
a.新增永久圖文素材


b.上傳圖文消息素材
由于和上面的新增永久圖文素材差異不大,故這里不做贅述,詳情見(jiàn)第七條。

簡(jiǎn)單說(shuō)明
● thumb_media_id:前面提到的上傳圖片返回media_id(也就是“新增其他類(lèi)型永久素材”)就是用在此處,作為圖文消息的封面圖片。
● content:前面提到的上傳圖片2種類(lèi)型,返回的URL就是用在此處的img標(biāo)簽里。
5.關(guān)于“上傳圖文消息素材”和“新增永久圖文素材”的區(qū)別
● 上傳圖文消息素材:等于是直接把圖文素材傳到微信的服務(wù)器,每次憑借media_id獲取素材,并且不占用素材庫(kù)
● 新增永久圖文素材:在開(kāi)發(fā)者和微信服務(wù)器之間,多了一個(gè)素材庫(kù)。素材庫(kù)的素材有數(shù)量限制,但是可以直接查看到。


四.群發(fā)消息接口——第1步:上傳圖片(返回URL)
1.說(shuō)明
● 功能:上傳圖文消息內(nèi)的圖片獲取URL【訂閱號(hào)與服務(wù)號(hào)認(rèn)證后均可用】
● 注意:本接口所上傳的圖片不占用公眾號(hào)的素材庫(kù)中圖片數(shù)量的5000個(gè)的限制。圖片僅支持jpg/png格式,大小必須在1MB以下
● 官方文檔參考

2.代碼實(shí)現(xiàn)
a.思路
● 調(diào)用接口

    https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN

看到后面需要用token,就知道,肯定也是需要獲取到全局的token,再組裝url。
● 參數(shù)說(shuō)明
調(diào)用示例(使用curl命令,用FORM表單方式上傳一個(gè)圖片):
curl -F media=@test .jpg "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN"
從官文中可以看出,圖片名(帶格式的圖片名)需要在media(代表媒體)之后,并加@符號(hào)。
這里就涉及到CURL的知識(shí):
curl上傳:文件的標(biāo)識(shí)@+相對(duì)路徑
b.代碼實(shí)現(xiàn)
注:以下是我的代碼實(shí)現(xiàn),大家可以根據(jù)自己的項(xiàng)目去實(shí)際編寫(xiě)

    function addMaterial() {
        $access_token = $this->getWxAccessToken();    
        $url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=".$access_token;
        $filename = "文件名,帶路徑";
        $data=array("media"=>"@". $filename);
        print_R($data);
        $res=$this->https_request( $url ,"post", "json", $data);
        dump($res); exit();
        return $res;
    }

● 說(shuō)明
——方法為了實(shí)現(xiàn)功能,寫(xiě)的都比較直接。后續(xù)可以對(duì)代碼進(jìn)行改編,方法里的參數(shù)可以使用傳參的方式,這樣使用起來(lái)也比較靈活。
—— filename:文件名,相對(duì)于項(xiàng)目的入口文件,一般是根目錄的路徑。比如我編寫(xiě)此代碼的時(shí)候用的是ThinkPHP框架,項(xiàng)目根目錄有個(gè)index.php入口文件,在根目錄有個(gè)Public,圖片是直接放在Public下的,所以上述的filename應(yīng)該是Public/圖片名.格式,請(qǐng)大家根據(jù)自己實(shí)際圖片路徑去寫(xiě)。
——print_r和dump是為了看打印的結(jié)果,這個(gè)大家測(cè)試的時(shí)候可以使用下,方便查看,無(wú)誤后去掉即可。


四.群發(fā)消息接口——第1步:上傳素材(包括圖片、視頻、聲音等,返回URL和MediaId,推薦)
1.說(shuō)明
● 新增的永久素材也可以在公眾平臺(tái)官網(wǎng)素材管理模塊中看到
● 永久素材的數(shù)量是有上限的,請(qǐng)謹(jǐn)慎新增。圖文消息素材和圖片素材的上限為5000,其他類(lèi)型為1000
● 素材的格式大小等要求與公眾平臺(tái)官網(wǎng)一致。具體是,圖片大小不超過(guò)2M,支持bmp/png/jpeg/jpg/gif格式,語(yǔ)音大小不超過(guò)5M,長(zhǎng)度不超過(guò)60秒,支持mp3/wma/wav/amr格式
● 調(diào)用接口需https協(xié)議
● 官方文檔參考

● 注意:官方說(shuō)明,視頻素材需要另外一個(gè)表單,這里暫不做說(shuō)明。
● 通過(guò)POST表單來(lái)調(diào)用接口,表單id為media,包含需要上傳的素材內(nèi)容,有filename、filelength、content-type等信息
● 注意:圖片素材將進(jìn)入公眾平臺(tái)官網(wǎng)素材管理模塊中的默認(rèn)分組
2.代碼實(shí)現(xiàn)
a.思路
● 調(diào)用接口

  https://api.weixin.qq.com/cgi-bin/material/add_material?        access_token=ACCESS_TOKEN&type=TYPE

看到后面需要用token,就知道,肯定也是需要獲取到全局的token,再組裝url,此外type類(lèi)型也需要指定。
● 官方關(guān)于類(lèi)型等其他參數(shù)說(shuō)明如下
參數(shù)是否必須說(shuō)明access_token是調(diào)用接口憑證type是媒體文件類(lèi)型,分別有圖片(image)、語(yǔ)音(voice)、視頻(video)和縮略圖(thumb)media是form-data中媒體文件標(biāo)識(shí),有filename、filelength、content-type等信息

b.代碼實(shí)現(xiàn)
注:以下是我的代碼實(shí)現(xiàn),大家可以根據(jù)自己的項(xiàng)目去實(shí)際編寫(xiě)

    function addMaterial() {
        $access_token = $this->getWxAccessToken();
        $type="image";
        //https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN&type=TYPE
        $url = "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$access_token."&type=".$type;
        $filename = "文件名";
        $data=array("media"=>"@". $filename);
        $res=$this->https_request( $url ,"post", "json", $data);
        return $res["media_id"];
    }

● 說(shuō)明
——方法為了實(shí)現(xiàn)功能,寫(xiě)的都比較直接。后續(xù)可以對(duì)代碼進(jìn)行改編,方法里的參數(shù)可以使用傳參的方式,這樣使用起來(lái)也比較靈活。
—— filename:帶格式的文件名,相對(duì)于項(xiàng)目的入口文件,一般是根目錄的路徑。比如我編寫(xiě)此代碼的時(shí)候用的是ThinkPHP框架,項(xiàng)目根目錄有個(gè)index.php入口文件,在根目錄有個(gè)Public,圖片是直接放在Public下的,所以上述的filename才是如此格式,請(qǐng)大家根據(jù)自己實(shí)際圖片路徑去寫(xiě)。
——type:傳入的媒體類(lèi)型
——作用:返回的media_id用作新增圖文素材中的圖文消息封面素材id,url用作新增圖文素材中,content(圖文消息的具體內(nèi)容)的img標(biāo)簽。


六.群發(fā)消息接口——第2步:上傳圖文之新增永久圖文素材

1.說(shuō)明
● 接口
https://api.weixin.qq.com/cgi...

2.注意
● thumb_media_id:需要先上傳圖片素材,且圖文消息的封面圖片素材id必須是永久mediaID
● content:上傳圖片素材的2種方式,都有返回url,就是用在此處的img標(biāo)簽中。
● 返回:media_id用于調(diào)用后面的群發(fā)消息時(shí)使用
● 注意:圖文消息內(nèi)容,將過(guò)濾外部的圖片鏈接
3.代碼實(shí)現(xiàn)

    function addNews(){
        $access_token = $this->getWxAccessToken();
        $thumb_media_id=$this->addMaterial();
        $content_img=$this->addMaterialUrl();
        $url = "https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=".$access_token;
        $array = array(
                "articles" => array(                                /*若新增的是多圖文素材,則此處應(yīng)還有幾段articles結(jié)構(gòu)  */
                                 array(
                         "title"               => urlencode("最后一組測(cè)試——1"),
                                "thumb_media_id"      => $thumb_media_id,        //圖文消息的封面圖片素材id(必須是永久mediaID)
                                "author"              => urlencode("測(cè)試編輯1"),            //作者
                                "digest"             => urlencode("這是測(cè)試的摘要1"),            //圖文消息的摘要,僅有單圖文消息才有摘要,多圖文此處為空
                                "show_cover_pic"      => 1,            //是否顯示封面,0為false,即不顯示,1為true,即顯示
                                "content"             => urlencode("

這是一個(gè)測(cè)試文章1



測(cè)試下圖文素材的效果

測(cè)試下圖文素材的效果
"), //圖文消息的具體內(nèi)容,支持HTML標(biāo)簽,必須少于2萬(wàn)字符,小于1M,且此處會(huì)去除JS "content_source_url" => urlencode("http://www.地址") //圖文消息的原文地址,即點(diǎn)擊“閱讀原文”后的URL ), array( "title" => urlencode("最后一組測(cè)試——2"), "thumb_media_id" => $thumb_media_id, //圖文消息的封面圖片素材id(必須是永久mediaID) "author" => urlencode("測(cè)試編輯2"), //作者 "digest" => urlencode("這是測(cè)試的摘要2"), //圖文消息的摘要,僅有單圖文消息才有摘要,多圖文此處為空 "show_cover_pic" => 1, //是否顯示封面,0為false,即不顯示,1為true,即顯示 "content" => urlencode("

這是一個(gè)測(cè)試文章2



測(cè)試下圖文素材的效果

測(cè)試下圖文素材的效果
"), //圖文消息的具體內(nèi)容,支持HTML標(biāo)簽,必須少于2萬(wàn)字符,小于1M,且此處會(huì)去除JS "content_source_url" => urlencode("http://www.地址") //圖文消息的原文地址,即點(diǎn)擊“閱讀原文”后的URL ), ), ); $postJson = urldecode( json_encode( $array ) ); //dump($postJson); $res=$this->https_request( $url ,"post", "json", $postJson); //dump($res["media_id"]);exit(); return $res["media_id"]; }

說(shuō)明
● addMaterial():是我寫(xiě)的新增其他類(lèi)型永久素材,里面新增的是圖片。
● addMaterialUrl():是我寫(xiě)的一個(gè)關(guān)于上傳圖片只返回URL的方法。雖然返回的只有URL,但也是個(gè)數(shù)組,所以,要么在方法里返回結(jié)果的時(shí)候,就取下標(biāo)url返回,要么調(diào)用的時(shí)候取下標(biāo)url使用。
● urlencode和urldecode:因?yàn)楹竺鍼OST的是一個(gè)JSON數(shù)組。如果JSON數(shù)據(jù)里有中文,那么需要用urlencode先轉(zhuǎn),后面再用urldecode轉(zhuǎn)過(guò)來(lái)。
● 需要注意的是,我的html標(biāo)記屬性用的是單引號(hào),所以無(wú)需轉(zhuǎn)義。如果你使用了雙引號(hào),需要用htmlspecialchars轉(zhuǎn)義,再用htmlspecialchars_decode轉(zhuǎn)回來(lái)。
● 請(qǐng)使用三維數(shù)組!!!看官方示例,如果以PHP寫(xiě)數(shù)組的寫(xiě)法來(lái)看,似乎不熟悉的人都會(huì)寫(xiě)成二維數(shù)組,但是這樣是無(wú)法解析的,在articles里,還有一層數(shù)組!!


七.群發(fā)消息接口——第2步:上傳圖文之上傳圖文消息素材
1.說(shuō)明
● 接口
https://api.weixin.qq.com/cgi...
● 官文說(shuō)明



2.代碼實(shí)現(xiàn)

    function uploadNews(){
        //1.獲取全局access_token
        $access_token = $this->getWxAccessToken();    
        $url = "https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=".$access_token;
        //2.組裝數(shù)據(jù)    
        $thumb_media_id=$this->addMaterial();
        $content_img=$this->addMaterialUrl();
        $array = array(
                "articles" => array(                                /*若新增的是多圖文素材,則此處應(yīng)還有幾段articles結(jié)構(gòu)  */
                        array(
                                "thumb_media_id"      => $thumb_media_id,        //圖文消息縮略圖的media_id,可以在基礎(chǔ)支持-上傳多媒體文件接口中獲得
                                "author"              => urlencode("編輯1"),            //作者
                                "title"               => urlencode("這是測(cè)試的標(biāo)題——1"),
                                "content_source_url" => urlencode("http://www.地址"),            //圖文消息的原文地址,即點(diǎn)擊“閱讀原文”后的URL                                                        
                                "content"             => urlencode("

這是一個(gè)測(cè)試文章——1



測(cè)試下圖文素材的效果——1

測(cè)試下圖文素材的效果——1
"), //圖文消息的具體內(nèi)容,支持HTML標(biāo)簽,必須少于2萬(wàn)字符,小于1M,且此處會(huì)去除JS "digest" => urlencode("這是測(cè)試的摘要1"), //圖文消息的摘要,僅有單圖文消息才有摘要,多圖文此處為空 "show_cover_pic" => 1 //是否顯示封面,0為false,即不顯示,1為true,即顯示 ),//第一個(gè)圖文文 array( "thumb_media_id" => $thumb_media_id, //圖文消息縮略圖的media_id,可以在基礎(chǔ)支持-上傳多媒體文件接口中獲得 "author" => urlencode("編輯2"), //作者 "title" => urlencode("這是測(cè)試的標(biāo)題——2"), "content_source_url" => urlencode("http://www.地址"), //圖文消息的原文地址,即點(diǎn)擊“閱讀原文”后的URL "content" => urlencode("

這是一個(gè)測(cè)試文章——2



測(cè)試下圖文素材的效果——1

測(cè)試下圖文素材的效果——1
"), //圖文消息的具體內(nèi)容,支持HTML標(biāo)簽,必須少于2萬(wàn)字符,小于1M,且此處會(huì)去除JS "digest" => urlencode("這是測(cè)試的摘要2"), //圖文消息的摘要,僅有單圖文消息才有摘要,多圖文此處為空 "show_cover_pic" => 1 //是否顯示封面,0為false,即不顯示,1為true,即顯示 ),//第2個(gè)圖文 ), ); $postJson = urldecode( json_encode( $array ) ); $res=$this->https_request( $url ,"post", "json", $postJson); //dump($res); return $res["media_id"]; }

說(shuō)明
● $thumb_media_id和$content_img的獲取方法:均為前文中提到的方法
● 注意:articles下的數(shù)組個(gè)數(shù),取決于你要發(fā)送的圖文消息個(gè)數(shù),但一次最多8個(gè)


八.群發(fā)消息接口——第3步:預(yù)覽接口(非必須步驟,但建議保留)
1.意義:為了防止開(kāi)發(fā)者模式下,每月發(fā)送4條消息的限制,從而導(dǎo)致不滿(mǎn)意消息的效果現(xiàn)象。
2.官方文檔

注意:雖然預(yù)覽接口調(diào)用的次數(shù)較多,但是每天有100次的限制,請(qǐng)注意?。?!
3.代碼實(shí)現(xiàn)——純文本

function sendMsgAll(){
        //1.獲取全局access_token
        $access_token = $this->getWxAccessToken();    

$openid="我的openid";

        //2.組裝群發(fā)預(yù)覽接口數(shù)據(jù)  array
        $url = "https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token=".$access_token;
        $array =array(        
                "touser"=> $openid,        //openid
                "text"  => array("content" => "雨紛紛,舊故里草木深"),                //文本內(nèi)容
                "msgtype" => "text"                                //格式
        );
        //3.將數(shù)組轉(zhuǎn)成json格式
        $postJson = json_encode ( $array );
        //4.調(diào)用第三方接口
        $res = $this->https_request( $url ,"post", "json",$postJson);
        return $res;
    }

4.代碼實(shí)現(xiàn)——圖文

function sendMsgAllPreview(){
        //1.獲取全局access_token
        $access_token = $this->getWxAccessToken();    
        $openid="我的openid";
        $media_id=$this->addNews();
        //2.組裝群發(fā)預(yù)覽接口數(shù)據(jù)  array
        $url = "https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token=".$access_token;
        $array = array(
                "touser" =>$openid,
                "mpnews"=>array("media_id"=>$media_id),
                "msgtype"=>"mpnews"
        );                 
        //3.將數(shù)組轉(zhuǎn)成json格式
        $postJson = json_encode ( $array );
        //4.調(diào)用第三方接口
        $res = $this->https_request( $url ,"post", "json",$postJson);
        //dump($res); 
        return $res;
    }

說(shuō)明
● $openid:此處因?yàn)槭亲鲱A(yù)覽,只需要一個(gè)ID,獲取有很多種方法。比如之前獲取用戶(hù)信息的時(shí)候,可以獲取到openid,或者是測(cè)試號(hào)的id都可以,只要是合法的openid。
● mpnews:媒體id。需要你之前有上傳過(guò)圖文消息的素材,獲得素材的id。
疑問(wèn):我預(yù)覽接口是成功的,返回是0,但是沒(méi)有官方示例的msg_id...難道改版了?知道的麻煩不吝賜教,謝謝。



九.群發(fā)消息接口——第4步:根據(jù)標(biāo)簽進(jìn)行群發(fā)
1.說(shuō)明
● 接口
https://api.weixin.qq.com/cgi...
● 官方說(shuō)明


2.代碼實(shí)現(xiàn)

//根據(jù)標(biāo)簽進(jìn)行群發(fā)
    function sendAllByTag(){
        //1.獲取全局access_token
        $access_token = $this->getWxAccessToken();    
        $url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=".$access_token;
        //2.組裝數(shù)據(jù)
        $media_id=$this->addNews();
        $array=array(
                "filter" => array(            //用于設(shè)定圖文消息的接收者
                    "is_to_all" => true,            //是否向全部用戶(hù)發(fā)送,值為true或false,選擇true該消息群發(fā)給所有用戶(hù),選擇false可根據(jù)tag_id發(fā)送給指定群組的用戶(hù)
                    "tag_id"     =>"",            //群發(fā)到的標(biāo)簽的tag_id,參加用戶(hù)管理中用戶(hù)分組接口,若is_to_all值為true,可不填寫(xiě)tag_id
                ),
                "mpnews" => array(            //用于設(shè)定即將發(fā)送的圖文消息
                    "media_id"  => $media_id,            //用于群發(fā)的消息的media_id
                ),
                "msgtype"=> "mpnews",                //群發(fā)的消息類(lèi)型,圖文消息為mpnews,文本消息為text,語(yǔ)音為voice,音樂(lè)為music,圖片為image,視頻為video,卡券為wxcard
        );
        $postJson = json_encode( $array );
        $res=$this->https_request( $url ,"post", "json", $postJson);
        //dump($res);
        return $res;
    }

注意
● 認(rèn)證后的服務(wù)號(hào)每個(gè)月就4次群發(fā)消息機(jī)會(huì)!!!請(qǐng)謹(jǐn)慎...建議使用前先使用預(yù)覽接口先發(fā)給自己的賬號(hào)測(cè)試看看效果,再用正式的接口。
● 附帶個(gè)疑問(wèn):不知道為什么,上傳圖文消息素材獲取不到最后的id,一直報(bào)錯(cuò)40007,但是新增永久圖文素材的一直是正確的。鬧心,查了好久也查不出來(lái)。
40007不合法的媒體文件id

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22015.html

相關(guān)文章

  • 利用客服消息和模板消息實(shí)現(xiàn)微信群發(fā)(突破群發(fā)接口的上限)

    摘要:此接口主要用于客服等有人工消息處理環(huán)節(jié)的功能,方便開(kāi)發(fā)者為用戶(hù)提供更加優(yōu)質(zhì)的服務(wù)。不支持廣告等營(yíng)銷(xiāo)類(lèi)消息以及其它所有可能對(duì)用戶(hù)造成騷擾的消息。 1、關(guān)于群發(fā)接口和消息接口 關(guān)于群發(fā)接口1.訂閱號(hào)每天可以群發(fā)消息一條,服務(wù)號(hào)每月(自然月)四條的群發(fā)權(quán)限。開(kāi)發(fā)者模式下,可以通過(guò)高級(jí)群發(fā)接口,實(shí)現(xiàn)更靈活的群發(fā)能力。2.注意● 對(duì)于認(rèn)證訂閱號(hào),群發(fā)接口每天可成功調(diào)用1次,此次群發(fā)可選擇發(fā)送給全...

    Gemini 評(píng)論0 收藏0
  • 微信公眾號(hào)實(shí)現(xiàn)無(wú)限制推送模板消息!可向指定openID群發(fā)

    摘要:微信認(rèn)證的服務(wù)號(hào)才有推送模板消息接口所以本文需要在認(rèn)證服務(wù)號(hào)的情況下學(xué)習(xí)以上就是模板消息,只有文字和跳轉(zhuǎn)鏈接,沒(méi)有封面圖。 微信認(rèn)證的服務(wù)號(hào)才有推送模板消息接口所以本文需要在認(rèn)證服務(wù)號(hào)的情況下學(xué)習(xí) showImg(https://segmentfault.com/img/bV1Zj2?w=341&h=610); 以上就是模板消息,只有文字和跳轉(zhuǎn)鏈接,沒(méi)有封面圖。在服務(wù)號(hào)的后臺(tái)添加功能插...

    ralap 評(píng)論0 收藏0
  • 微信公眾號(hào)實(shí)現(xiàn)無(wú)限制推送模板消息!可向指定openID群發(fā)

    摘要:微信認(rèn)證的服務(wù)號(hào)才有推送模板消息接口所以本文需要在認(rèn)證服務(wù)號(hào)的情況下學(xué)習(xí)以上就是模板消息,只有文字和跳轉(zhuǎn)鏈接,沒(méi)有封面圖。 微信認(rèn)證的服務(wù)號(hào)才有推送模板消息接口所以本文需要在認(rèn)證服務(wù)號(hào)的情況下學(xué)習(xí) showImg(https://segmentfault.com/img/bV1Zj2?w=341&h=610); 以上就是模板消息,只有文字和跳轉(zhuǎn)鏈接,沒(méi)有封面圖。在服務(wù)號(hào)的后臺(tái)添加功能插...

    Ku_Andrew 評(píng)論0 收藏0
  • 微信公眾號(hào)實(shí)現(xiàn)無(wú)限制推送模板消息!可向指定openID群發(fā)

    摘要:微信認(rèn)證的服務(wù)號(hào)才有推送模板消息接口所以本文需要在認(rèn)證服務(wù)號(hào)的情況下學(xué)習(xí)以上就是模板消息,只有文字和跳轉(zhuǎn)鏈接,沒(méi)有封面圖。 微信認(rèn)證的服務(wù)號(hào)才有推送模板消息接口所以本文需要在認(rèn)證服務(wù)號(hào)的情況下學(xué)習(xí) showImg(https://segmentfault.com/img/bV1Zj2?w=341&h=610); 以上就是模板消息,只有文字和跳轉(zhuǎn)鏈接,沒(méi)有封面圖。在服務(wù)號(hào)的后臺(tái)添加功能插...

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

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

0條評(píng)論

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