Ⅰ 微信公眾平台用php模擬登陸成功之後,都能獲取到什麼內容
登錄成功後可以根據token修改開發路徑驗證等
Ⅱ 微信公眾平台php怎麼用
看來你是一點都不會編程,那麼做這個只有兩種選擇:1 花錢找人給你做,做這個還需要一台自己的伺服器,公眾號(普通公眾號功能少,認證的公眾號功能多,但是有審核周期,並且年費是300元)。
2.上網買人家做好的一些代碼,CMS,但是公眾號還得你自己提供。
Ⅲ 開發微信公眾號用PHP好還是java好
PHP更為實用。現在的ISP提供的虛擬主機多數只能運行PHP,不能運行JAVA環境,只有雲主機才支持。而多數據中小企業都採用虛擬主機,所以,官方給出PHP介面也就正常了。
運行JAVA環境的企業,一般為中大型企業,要是把java用於微信開發,就會顯得慢。
PHP開發者多,用戶多,開發速度快。JAVA性能不錯,但是學習曲線相對PHP比較陡峭,開發效率也沒有PHP那麼高(是說做東西的速度,不是說運行效率),現在在web站點的覆蓋率也沒有PHP那麼高。
Ⅳ 為什麼微信公眾平台大多數都用php開發
因為好用。
希望我的回答可以幫到你,有什麼不懂可以追問。
Ⅳ 微信公眾平台如何通過php代碼給會員發送被動響應消息
明確在哪接收消息
從微信公眾平台介面消息指南中可以了解到,當用戶向公眾帳號發消息時,微信伺服器會將消息通過POST方式提交給我們在介面配置信息中填寫的URL,而我們就需要在URL所指向的請求處理類CoreServlet的doPost方法中接收消息、處理消息和響應消息。
接收、處理、響應消息
下面先來看我已經寫好的CoreServlet的完整代碼:
package org.liufeng.course.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.liufeng.course.service.CoreService;
import org.liufeng.course.util.SignUtil;
/**
* 核心請求處理類
*
* @author liufeng
* @date 2013-05-18
*/
public class CoreServlet extends HttpServlet {
private static final long serialVersionUID = 4440739483644821986L;
/**
* 確認請求來自微信伺服器
*/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 微信加密簽名
String signature = request.getParameter("signature");
// 時間戳
String timestamp = request.getParameter("timestamp");
// 隨機數
String nonce = request.getParameter("nonce");
// 隨機字元串
String echostr = request.getParameter("echostr");
PrintWriter out = response.getWriter();
// 通過檢驗signature對請求進行校驗,若校驗成功則原樣返回echostr,表示接入成功,否則接入失敗
if (SignUtil.checkSignature(signature, timestamp, nonce)) {
out.print(echostr);
}
out.close();
out = null;
}
/**
* 處理微信伺服器發來的消息
*/
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 將請求、響應的編碼均設置為UTF-8(防止中文亂碼)
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
// 調用核心業務類接收消息、處理消息
String respMessage = CoreService.processRequest(request);
// 響應消息
PrintWriter out = response.getWriter();
out.print(respMessage);
out.close();
}
}
代碼說明:
1)第51行代碼:微信伺服器POST消息時用的是UTF-8編碼,在接收時也要用同樣的編碼,否則中文會亂碼;
2)第52行代碼:在響應消息(回復消息給用戶)時,也將編碼方式設置為UTF-8,原理同上;
3)第54行代碼:調用CoreService類的processRequest方法接收、處理消息,並得到處理結果;
4)第57~59行:調用response.getWriter().write()方法將消息的處理結果返回給用戶
從doPost方法的實現可以看到,它是通過調用CoreService類的processRequest方法接收、處理消息的,這樣做的目的是為了解耦,即業務相關的操作都不在Servlet里處理,而是完全交由業務核心類CoreService去做。下面來看CoreService類的代碼實現:
package org.liufeng.course.service;
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.liufeng.course.message.resp.TextMessage;
import org.liufeng.course.util.MessageUtil;
/**
* 核心服務類
*
* @author liufeng
* @date 2013-05-20
*/
public class CoreService {
/**
* 處理微信發來的請求
*
* @param request
* @return
*/
public static String processRequest(HttpServletRequest request) {
String respMessage = null;
try {
// 默認返回的文本消息內容
String respContent = "請求處理異常,請稍候嘗試!";
// xml請求解析
Map<String, String> requestMap = MessageUtil.parseXml(request);
// 發送方帳號(open_id)
String fromUserName = requestMap.get("FromUserName");
// 公眾帳號
String toUserName = requestMap.get("ToUserName");
// 消息類型
String msgType = requestMap.get("MsgType");
// 回復文本消息
TextMessage textMessage = new TextMessage();
textMessage.setToUserName(fromUserName);
textMessage.setFromUserName(toUserName);
textMessage.setCreateTime(new Date().getTime());
textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
textMessage.setFuncFlag(0);
// 文本消息
if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) {
respContent = "您發送的是文本消息!";
}
// 圖片消息
else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_IMAGE)) {
respContent = "您發送的是圖片消息!";
}
// 地理位置消息
else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_LOCATION)) {
respContent = "您發送的是地理位置消息!";
}
// 鏈接消息
else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_LINK)) {
respContent = "您發送的是鏈接消息!";
}
// 音頻消息
else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_VOICE)) {
respContent = "您發送的是音頻消息!";
}
// 事件推送
else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_EVENT)) {
// 事件類型
String eventType = requestMap.get("Event");
// 訂閱
if (eventType.equals(MessageUtil.EVENT_TYPE_SUBSCRIBE)) {
respContent = "謝謝您的關注!";
}
// 取消訂閱
else if (eventType.equals(MessageUtil.EVENT_TYPE_UNSUBSCRIBE)) {
// TODO 取消訂閱後用戶再收不到公眾號發送的消息,因此不需要回復消息
}
// 自定義菜單點擊事件
else if (eventType.equals(MessageUtil.EVENT_TYPE_CLICK)) {
// TODO 自定義菜單權沒有開放,暫不處理該類消息
}
}
textMessage.setContent(respContent);
respMessage = MessageUtil.textMessageToXml(textMessage);
} catch (Exception e) {
e.printStackTrace();
}
return respMessage;
}
}
代碼說明:
1)第29行:調用消息工具類MessageUtil解析微信發來的xml格式的消息,解析的結果放在HashMap里;
2)32~36行:從HashMap中取出消息中的欄位;
3)39-44、84行:組裝要返回的文本消息對象;
4)47~82行:演示了如何接收微信發送的各類型的消息,根據MsgType判斷屬於哪種類型的消息;
5)85行:調用消息工具類MessageUtil將要返回的文本消息對象TextMessage轉化成xml格式的字元串;
關於事件推送(關注、取消關注、菜單點擊)
對於消息類型的判斷,像文本消息、圖片消息、地理位置消息、鏈接消息和語音消息都比較好理解,有很多剛接觸的朋友搞不懂事件推送消息有什麼用,或者不清楚該如何判斷用戶關注的消息。那我們就專門來看下事件推送,下圖是官方消息介面文檔中關於事件推送的說明:
Ⅵ php網站代碼怎麼接入微信公眾平台
你需要有一個伺服器或空間之類的,而且還得有個域名,再獲取微信公眾平台的AppID和AppSecret再通過你的PHP程序處理成驗證URL與TOKEN,再將你的URL與TOKEN輸入到微信公眾平台驗證,成功後就說明接入OK了,是不是很簡單!
Ⅶ 微信公眾平台php文件如何放xml文件
一、寫好介面程序
在你的伺服器上上傳好一個介面程序文件。
二、配置微信公眾平台回復介面
設置回復介面,填好URL和Token。
三、驗證介面
給這個賬號發一條消息過去,收到原樣的消息返回,即驗證成功了。
四、開始自定義回復
注釋掉$wechatObj->valid(); 這行,同時去掉//$wechatObj->responseMsg();這行的注釋。
你可以修改responseMsg函數裡面的代碼,根據用戶的消息類型('text','image','location')和消息內容來回復用戶不同的內容。
Ⅷ 微信公眾號的服務號怎麼開發,難度大么是不是只用會php就可以
難度很大,需要有一定的php編程基礎;微信上開店無外乎就是公眾號和小程序,具體開店流程如下:
一、申請一個公眾號。
1>注意要申請公眾號的服務號
在申請微信公眾號時,會出現:訂閱號、服務號、企業號、小程序的4個選項。那麼我們開通微商城是需要選擇服務號。因為只有服務號才有微信支付介面。
2>開通您的企業對公賬戶
申請完成服務號以後,微信需要您提交真實性資料並核驗。有一項核驗就是通過您企業的對公賬戶進行打款驗證。所以如果您公司還沒有對公賬戶,請先到銀行開個對公賬戶;
3>個人無法申請服務號認證
如果您是個人,不是公司也不是個體工商戶,也就是說您沒有營業執照的話,您是無法對公眾號進行認證的。
4>公眾號認證的周期
微信會用第三方公司進行電話認證審核,一般在3-5工作日就能認證通過。
5>公眾號申請認證需要准備的資料.
微信認證時,需要用到公章、營業執照副本掃描件、法人身份證明正反面掃描件、以及認證資料蓋章。其他按照指示流程操作即可。
6>認證費用
這個每年是300元/年。到期前,騰訊會提前通知你注冊的郵箱以及一些簡訊提示等。
二、接入微信商城
公眾號申請認證完成以後,就可以在公眾號-服務號裡面接入微信商城了。具體的商城可以自己開發,也可以找第三方平台幫你搭建。
Ⅸ php如何編寫一個微信公眾平台的消息推送
給你個代碼樣例不可以直接復制使用
/**
*發送模板消息
*@param$tmpId模板ID
*@param$openId用戶openID
*@param$param模板參數
*@param$url
*@returnmixed
*@authorfjlhuman
*/
publicfunctionsendTmpMessage($tmpId,$openId,$param,$url){
$postUrl="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$this->accessToken;
$arrData['touser']=$openId;
$arrData['template_id']=$tmpId;//'6OT8DDNF-CbiadTsbEKKSCZVHe_9hnhxOBT7EvURNcE';
$arrData['url']=$url;
$arrData['data']=$param;
$json=json_encode($arrData);
$result=Curl::post($postUrl,$json);
$result=json_decode($result,true);
$rData['isTure']=false;
$rData['msg']="";
if($result['errcode']==0){
$rData['isTure']=true;
$rData['msg']="發送成功";
}else{
$rData['msg']=$result['errcode'];
}
return$rData;
}
詳情請參考微信公眾平台技術文檔->模板消息介面