1. 程式人生 > >微信公眾號開發(六)-- 關注公眾號自動回覆兩條訊息

微信公眾號開發(六)-- 關注公眾號自動回覆兩條訊息

昨天晚上臨下班,客戶提了個新需求,關注公眾號的時候希望呢能自動回覆兩條資訊。我,一個野生的菜雞程式媛當時眼前就一黑,昨天還是聖誕節呢嘿。

咳。查了下,自動回覆兩條訊息,其實除了歡迎資訊再呼叫一次客服介面。

呼叫客服介面,回覆文字資訊

    $content   = 'Hello Word';
    $data = '{ "touser" : "'.$openid.'",
			"msgtype" : "text",
			"text" : {
				"content" : "'.$content.'"
			}
		}';
    $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$access_token;
    $result = https_request($url , $data);
    var_dump($result);

在這裡插入圖片描述
呼叫客服介面,回覆圖片資訊

$data = '{ "touser" : "'.$openid.'",
		"msgtype" : "image",
		"image" : {
			"media_id" : "uWG4UBbSTp2d8fHs3nYsSQURL3h7kvBi_kf19lkT4tM" 
		}
	}';
$url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$access_token;
$result = https_request($url , $data);
var_dump($result); 

圖片的話需要media_id,就是上傳給微信圖片素材的返回值。

獲取media_id

$path = 'images/fp.jpg' ; //路徑填伺服器上的相對路徑

if (class_exists ( '\CURLFile' )) {//關鍵是判斷curlfile,官網推薦php5.5或更高的版本使用curlfile來例項檔案
    $filedata = array (
        'fieldname' => new \CURLFile ( realpath ( $path ), 'image/jpeg' )
    );
} else {
    $filedata = array (
        'fieldname' => '@' . realpath ( $path )
    );
}
$url = "http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token={$access_token}&type=image";
$result = https_request($url , $path);
$data = json_decode($result);
echo $data->media_id;

在這裡插入圖片描述

關注公眾號,回覆圖文訊息

$arr = array(
    array(
        'title'=>'家政扶貧助小康',
        'description'=>"響應國家扶貧聯盟號召,積極參與社會組織公益活動。",
        'picUrl'=>'http://jiashijia.137oa.com/images/fp.jpg', //完整圖片地址
        'url'=>'https://www.baidu.com', //完整url
    ),
);
$template1 = "<xml>
                 <ToUserName><![CDATA[%s]]></ToUserName>
                 <FromUserName><![CDATA[%s]]></FromUserName>
                 <CreateTime>%s</CreateTime>
                 <MsgType><![CDATA[%s]]></MsgType>
                 <ArticleCount>".count($arr)."</ArticleCount>
                 <Articles>";
foreach($arr as $k=>$v){
    $template1 .="<item>
                     <Title><![CDATA[".$v['title']."]]></Title>
                     <Description><![CDATA[".$v['description']."]]></Description>
                     <PicUrl><![CDATA[".$v['picUrl']."]]></PicUrl>
                     <Url><![CDATA[".$v['url']."]]></Url>
                     </item>";
}
$template1 .="</Articles>
                 </xml> ";
var_dump(sprintf($template1, $touser, $fromuser, $time, 'news'));

在這裡插入圖片描述