微信公眾號開發(六)-- 關注公眾號自動回覆兩條訊息
阿新 • • 發佈:2018-12-27
昨天晚上臨下班,客戶提了個新需求,關注公眾號的時候希望呢能自動回覆兩條資訊。我,一個野生的菜雞程式媛當時眼前就一黑,昨天還是聖誕節呢嘿。
咳。查了下,自動回覆兩條訊息,其實除了歡迎資訊再呼叫一次客服介面。
呼叫客服介面,回覆文字資訊
$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'));