亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信公眾平臺開發(fā)入門教程(圖文詳解)

 更新時間:2013年09月27日 17:56:15   作者:  
由于微信的大熱,為了更好的方便使用微信的用戶查詢一些信息,這篇文章是入門級的微信公眾平臺開發(fā)教程,需要的朋友可以參考下

在這篇入門教程中,我們假定你已經(jīng)有了PHP語言程序、MySQL數(shù)據(jù)庫、計算機網(wǎng)絡通訊及XML語言基礎(chǔ)。如果你還沒有,那么請先學習相關(guān)知識。

我們將使用微信公眾賬號方倍工作室(賬號:pondbaystudio,二維碼在最底部)作為講解的例子。

這篇入門教程將引導你完成如下任務:

創(chuàng)建百度云平臺應用啟用微信公眾平臺開發(fā)模式獲取訂閱、文字、圖片、語音、視頻消息回復文本、圖文及音樂消息程序開發(fā)
 

創(chuàng)建百度云應用

申請賬號

登錄http://developer.baidu.com/bae ,使用郵箱或者手機注冊一個賬號,注冊需要同時綁定手機并且驗證郵箱。

創(chuàng)建應用

注冊并登錄成功以后,點擊右上側(cè)的,彈出如下窗口。

 

應用名稱自己隨便填寫一個,接入方式選擇“手機web應用”,然后點擊確定。

說明:在以下的教程中,您可以將所有我填寫為pondbay的地方改為你的一個相應的名稱,如果您沒有想好名稱,最簡單的方法就是qq這兩個字符+qq號碼,比如方倍工作室的QQ是1354386063,那么就將"pondbay"改為"qq1354386063"

 

選擇“云環(huán)境(BAE)”,

在新的窗口中,填寫應用域名的名稱,環(huán)境類型選擇PHP,其他根據(jù)自己需要選擇或者使用上圖默認值,然后點擊確定

注意:此處填寫的域名將要在下面填寫URL時用到??梢韵缺4嫦聛?。 

創(chuàng)建版本

在版本管理中,點擊創(chuàng)建新版本

版本號填寫0,然后保存。

上傳代碼

將以下代碼中的token改為你的名稱,并另存為index.php。

注意:此處填寫的Token將要在下面填寫URL時用到??梢韵缺4嫦聛?。

復制代碼 代碼如下:

<?php
/*
    方倍工作室 http://www.cnblogs.com/txw1958/
    CopyRight 2013  www.doucube.com  All Rights Reserved
*/

define("TOKEN", "pondbay");

$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();

class wechatCallbackapiTest
{
    public function valid()
    {
        $echoStr = $_GET["echostr"];
        if($this->checkSignature()){
            echo $echoStr;
            exit;
        }
    }

    private function checkSignature()
    {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];

        $token = TOKEN;
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );

        if( $tmpStr == $signature ){
            return true;
        }else{
            return false;
        }
    }
}
?>

然后將其壓縮成zip格式

這樣會生成一個index.zip的文件。

回來版本管理中

選擇包上傳更新

選擇剛才壓縮好的zip包,點擊上傳。

確定生效,并且點擊 ,點擊后如下圖。

百度云應用的創(chuàng)建就成功了。

 

 

微信公眾平臺開發(fā)模式

高級功能

微信公眾平臺地址:https://mp.weixin.qq.com 

登錄微信公眾平臺后臺,選擇高級功能

進入后就看到兩種模式

我們需要關(guān)閉編輯模式。點擊編輯模式的進入

滑動關(guān)閉

 

開發(fā)模式

進入開發(fā)模式里面

 點擊成為開發(fā)者

彈出URL和Token填寫框

此處的URL為創(chuàng)建百度云應用的域名,包括后面的duapp.com,而Token為index.php中定義的值。

URL:   http://pondbay.duapp.com
Token:  pondbay

填寫如下圖,

 提交成功

再滑動右上角啟用按鈕。

至此,你已經(jīng)成功啟用開發(fā)模式。

接收消息類型

目前普通用戶能向公眾賬號推送五種格式的消息:文本(包括表情)、語音、圖片、視頻、位置、鏈接。名片發(fā)送會失敗。
下面就這五種分別詳解如下:

1. 文本(包括表情)
發(fā)送文本

后臺格式:

復制代碼 代碼如下:

<xml>
 <ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
 <FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
 <CreateTime>1359028446</CreateTime>
 <MsgType><![CDATA[text]]></MsgType>
 <Content><![CDATA[你好]]></Content>
 <MsgId>5836982729904121631</MsgId>
</xml>

發(fā)送表情

后臺格式

復制代碼 代碼如下:

<xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
<CreateTime>1359044526</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[/::)/::)/::)/::)/::)]]></Content>
<MsgId>5837051792978241864</MsgId>
</xml>

XML格式講解

復制代碼 代碼如下:

ToUserName 消息接收方微信號,一般為公眾平臺賬號微信號
FromUserName 消息發(fā)送方微信號
CreateTime 消息創(chuàng)建時間
MsgType 消息類型;文本消息為text
Content 消息內(nèi)容
MsgId 消息ID號可以看出,文本和表情的消息類型均為文本
[html]

2. 圖片
發(fā)送圖片

后臺格式:

[code]
<xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
<CreateTime>1359028479</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA[http://mmsns.qpic.cn/mmsns/L4qjYtOibuml238YYBcfS2FQ8JtNN69Bc4bbbscvQRrljbedVjlMEAA/0]]></PicUrl>
<MsgId>5836982871638042400</MsgId>
</xml>

XML格式講解

復制代碼 代碼如下:

ToUserName 消息接收方微信號,一般為公眾平臺賬號微信號
FromUserName 消息發(fā)送方微信號
CreateTime 消息創(chuàng)建時間
MsgType 消息類型;圖片消息為image
PicUrl 圖片鏈接地址,可以用HTTP GET獲取
MsgId 消息ID號

3. 語音
發(fā)送語音

后臺格式:

復制代碼 代碼如下:

<xml>
 <ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
 <FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
 <CreateTime>1359028025</CreateTime>
 <MsgType><![CDATA[voice]]></MsgType>
 <MediaId><![CDATA[hGm9wmKth8RO_tuv5k9fJkSbovXWzZVYwG2jSsL7ukCqq6q1SiLzYnFEngFNUijs]]></MediaId>
 <Format><![CDATA[amr]]></Format>
 <MsgId>5836980921722890003</MsgId>
</xml>

XML格式講解

復制代碼 代碼如下:

ToUserName 消息接收方微信號,一般為公眾平臺賬號微信號
FromUserName 消息發(fā)送方微信號
CreateTime 消息創(chuàng)建時間
MsgType 消息類型;語音消息為voice
MediaId 媒體ID
Format 語音格式,這里為amr
MsgId 消息ID號附:AMR接口簡介
全稱Adaptive Multi-Rate,主要用于移動設(shè)備的音頻,壓縮比比較大,但相對其他的壓縮格式質(zhì)量比較差,由于多用于人聲,通話,效果還是很不錯的。

4. 視頻
發(fā)送視頻

后臺格式:

復制代碼 代碼如下:

<xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
<CreateTime>1359028186</CreateTime>
<MsgType><![CDATA[video]]></MsgType>
<MediaId><![CDATA[DBVFRIj29LB2hxuYpc0R6VLyxwgyCHZPbRj_IIs6YaGhutyXUKtFSDcSCPeoqUYr]]></MediaId>
<ThumbMediaId><![CDATA[mxUJ5gcCeesJwx2T9qsk62YzIclCP_HnRdfTQcojlPeT2G9Q3d22UkSLyBFLZ01J]]></ThumbMediaId>
<MsgId>5836981613212624665</MsgId>
</xml>

XML格式講解

復制代碼 代碼如下:

ToUserName 消息接收方微信號,一般為公眾平臺賬號微信號
FromUserName 消息發(fā)送方微信號
CreateTime 消息創(chuàng)建時間
MsgType 消息類型;視頻消息為video
MediaId 媒體ID
ThumbMediaId 媒體縮略ID?
MsgId 消息ID號 原文:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html

5. 位置
發(fā)送位置

后臺格式:

復制代碼 代碼如下:

<xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FLACFromUserName>
<CreateTime>1359036619</CreateTime>
<MsgType><![CDATA[location]]></MsgType>
<Location_X>22.539968</Location_X>
<Location_Y>113.954980</Location_Y>
<Scale>16</Scale>
<Label><![CDATA[中國廣東省深圳市南山區(qū)深南大道9789號 郵政編碼: 518057]]></Label>
<MsgId>5837017832671832047</MsgId>
</xml>

XML格式講解

復制代碼 代碼如下:

 ToUserName 消息接收方微信號,一般為公眾平臺賬號微信號
 FromUserName 消息發(fā)送方微信號
 CreateTime 消息創(chuàng)建時間
 MsgType 消息類型,地理位置為location
 Location_X 地理位置緯度
 Location_Y 地理位置經(jīng)度
 Scale 地圖縮放大小
 Label 地理位置信息
 MsgId 消息ID號

6. 鏈接
發(fā)送鏈接

后臺格式:

復制代碼 代碼如下:

<xml>
<ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjl2LYdfTAM-oxDgB4XZcnc8]]></FromUserName>
<CreateTime>1359709372</CreateTime>
<MsgType><![CDATA[link]]></MsgType>
<Title><![CDATA[分享一款應用給你 -方倍神圖]]></Title>
<Description><![CDATA[方倍神圖為您提供夫妻相測試,親子鑒定等新奇、好玩的圖片測試功能]]></Description>
<Url><![CDATA[http://israel.duapp.com/web/photo.php]]></Url>
<MsgId>5839907284805129867</MsgId>
</xml>

XML格式講解

復制代碼 代碼如下:

 ToUserName 消息接收方微信號,一般為公眾平臺賬號微信號
 FromUserName 消息發(fā)送方微信號
 CreateTime 消息創(chuàng)建時間
 MsgType 消息類型,鏈接為link
 Title 圖文消息標題
 Description 圖文消息描述
 Url 點擊圖文消息跳轉(zhuǎn)鏈接
 MsgId 消息ID號

發(fā)送消息類型

目前公眾賬號能向普通用戶推送三種格式的消息:文本、圖文、音樂。其中圖文消息包括單條圖文消息和多條圖文消息,展示方式有一點點不同。
另外,回復的消息支持星標操作:通過填寫FuncFlag字段為1來對回復消息做星標操作后,可以在實時消息的星標消息分類中找到對應的推送消息。

下面就這幾種分別詳解如下:

1. 文本消息格式
回復文本

后臺格式:

復制代碼 代碼如下:

<xml>
<ToUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></ToUserName>
<FromUserName><![CDATA[gh_680bdefc8c5d]]></FromUserName>
<CreateTime>1359036631</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[★★★★豆立方★★★★ 微信公眾平臺上最好玩的圖片及視頻應用]]></Content>
<FuncFlag>0</FuncFlag>
</xml>

XML格式講解

復制代碼 代碼如下:

 FromUserName 消息發(fā)送方
 ToUserName 消息接收方
 CreateTime 消息創(chuàng)建時間
 MsgType 消息類型,文本消息必須填寫text
 Content 消息內(nèi)容,大小限制在2048字節(jié),字段為空為不合法請求
 FuncFlag 星標字段
 

2. 圖文消息格式
2.1 單條圖文消息
回復單條圖文


后臺格式:

復制代碼 代碼如下:

<xml>
    <ToUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></ToUserName>
    <FromUserName><![CDATA[gh_680bdefc8c5d]]></FromUserName>
    <CreateTime>1359011899</CreateTime>
    <MsgType><![CDATA[news]]></MsgType>
    <Content><![CDATA[]]></Content>
    <ArticleCount>1</ArticleCount>
    <Articles>
        <item>
            <Title><![CDATA[【天津】天氣實況 ]]></Title>
            <Description><![CDATA[溫度:3℃ 濕度:43﹪ 風速:西南風2級]]></Description>
            <PicUrl><![CDATA[http://www.doucube.com/weixin/weather/icon/banner.jpg]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
    </Articles>
    <FuncFlag>0</FuncFlag>
</xml>

2.2 多條圖文消息

復制代碼 代碼如下:

<xml>
    <ToUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></ToUserName>
    <FromUserName><![CDATA[gh_680bdefc8c5d]]></FromUserName>
    <CreateTime>1359011829</CreateTime>
    <MsgType><![CDATA[news]]></MsgType>
    <Content><![CDATA[]]></Content>
    <ArticleCount>8</ArticleCount>
    <Articles>
        <item>
            <Title><![CDATA[【天津】天氣實況 溫度:3℃ 濕度:43﹪ 風速:西南風2級]]></Title>
            <Description><![CDATA[]]></Description>
            <PicUrl><![CDATA[http://www.doucube.com/weixin/weather/icon/banner.jpg]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
        <item>
            <Title><![CDATA[06月24日 周四 2℃~-7℃ 晴 北風3-4級轉(zhuǎn)東南風小于3級]]></Title>
            <Description><![CDATA[]]></Description>
            <PicUrl><![CDATA[http://www.doucube.com/weixin/weather/icon/d00.gif]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
        <item>
            <Title><![CDATA[06月25日 周五 -1℃~-8℃ 晴 東南風小于3級轉(zhuǎn)東北風3-4級]]></Title>
            <Description><![CDATA[]]></Description>
            <PicUrl><![CDATA[http://www.doucube.com/weixin/weather/icon/d00.gif]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
        <item>
            <Title><![CDATA[06月26日 周六 -1℃~-7℃ 多云 東北風3-4級轉(zhuǎn)東南風小于3級]]></Title>
            <Description><![CDATA[]]></Description>
            <PicUrl><![CDATA[http://www.doucube.com/weixin/weather/icon/d01.gif]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
        <item>
            <Title><![CDATA[06月27日 周日 0℃~-6℃ 多云 東南風小于3級轉(zhuǎn)東北風3-4級]]></Title>
            <Description><![CDATA[]]></Description>
            <PicUrl><![CDATA[http://www.doucube.com/weixin/weather/icon/d01.gif]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
        <item>
            <Title><![CDATA[06月28日 周一 -1℃~-8℃ 多云 東北風3-4級轉(zhuǎn)南風小于3級]]></Title>
            <Description><![CDATA[]]></Description>
            <PicUrl><![CDATA[http://www.doucube.com/weixin/weather/icon/d01.gif]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
        <item>
            <Title><![CDATA[06月29日 周二 1℃~-5℃ 多云 南風小于3級轉(zhuǎn)3-4級]]></Title>
            <Description><![CDATA[]]></Description>
            <PicUrl><![CDATA[http://www.doucube.com/weixin/weather/icon/d01.gif]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
        <item>
            <Title><![CDATA[方倍工作室 版權(quán)所有]]></Title>
            <Description><![CDATA[]]></Description>
            <PicUrl><![CDATA[]]></PicUrl>
            <Url><![CDATA[]]></Url>
        </item>
    </Articles>
    <FuncFlag>0</FuncFlag>
</xml>

XML格式講解

復制代碼 代碼如下:

FromUserName 消息發(fā)送方
 ToUserName 消息接收方
 CreateTime 消息創(chuàng)建時間
 MsgType 消息類型,圖文消息必須填寫news
 Content 消息內(nèi)容,圖文消息可填空
 ArticleCount 圖文消息個數(shù),限制為10條以內(nèi)
 Articles 多條圖文消息信息,默認第一個item為大圖
  Title 圖文消息標題
  Description 圖文消息描述
  PicUrl 圖片鏈接,支持JPG、PNG格式,較好的效果為大圖640*320,小圖80*80
  Url 點擊圖文消息跳轉(zhuǎn)鏈接
FuncFlag 星標字段


3. 音樂消息

后臺格式:

復制代碼 代碼如下:

<xml>
    <ToUserName><![CDATA[ollB4jqgdO_cRnVXk_wRnSywgtQ8]]></ToUserName>
    <FromUserName><![CDATA[gh_b629c48b653e]]></FromUserName>
    <CreateTime>1372310544</CreateTime>
    <MsgType><![CDATA[music]]></MsgType>
    <Music>
        <Title><![CDATA[最炫民族風]]></Title>
        <Description><![CDATA[鳳凰傳奇]]></Description>
        <MusicUrl><![CDATA[http://zj189.cn/zj/download/music/zxmzf.mp3]]></MusicUrl>
        <HQMusicUrl><![CDATA[http://zj189.cn/zj/download/music/zxmzf.mp3]]></HQMusicUrl>
    </Music>
    <FuncFlag>0</FuncFlag>
</xml>

XML格式講解

復制代碼 代碼如下:

ToUserName     接收方帳號(收到的OpenID)
FromUserName     開發(fā)者微信號
CreateTime     消息創(chuàng)建時間
MsgType          消息類型,此處為music
    Title       音樂標題
    Description 音樂描述
    MusicUrl     音樂鏈接
    HQMusicUrl     高質(zhì)量音樂鏈接,WIFI環(huán)境優(yōu)先使用該鏈接播放音樂
FuncFlag     位0x0001被標志時,星標剛收到的消息。

事件消息類型

目前用戶在關(guān)注和取消關(guān)注的時候會自動向公眾平臺發(fā)送事件推送消息:

1. 關(guān)注事件

復制代碼 代碼如下:

<xml>
    <ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName>
    <FromUserName><![CDATA[ollB4jv7LA3tydjviJp5V9qTU_kA]]></FromUserName>
    <CreateTime>1372307736</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[subscribe]]></Event>
    <EventKey><![CDATA[]]></EventKey>
</xml>

2. 取消關(guān)注事件

復制代碼 代碼如下:

<xml>
    <ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName>
    <FromUserName><![CDATA[ollB4jqgdO_cRnVXk_wRnSywgtQ8]]></FromUserName>
    <CreateTime>1372309890</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[unsubscribe]]></Event>
    <EventKey><![CDATA[]]></EventKey>
</xml>

3. 菜單點擊事件

復制代碼 代碼如下:

<xml>
    <ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
    <FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
    <CreateTime>1377886191</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[CLICK]]></Event>
    <EventKey><![CDATA[天氣深圳]]></EventKey>
</xml>

XML格式講解

復制代碼 代碼如下:

ToUserName     接收方微信號
FromUserName 發(fā)送方微信號,若為普通用戶,則是一個OpenID
CreateTime     消息創(chuàng)建時間
MsgType     消息類型,event
Event     事件類型,subscribe(訂閱)、unsubscribe(取消訂閱)、CLICK(自定義菜單點擊事件)
EventKey 事件KEY值,與自定義菜單接口中KEY值對應

簡單的自動回復

我們在官方的例子上做一些修改,實現(xiàn)了一個發(fā)送“?”就能回復當前時間的功能。
該例子是接收文本消息($postObj->Content),并且回復文本消息($msgType = "text";)的。
你可以把以下代碼保存為index.php,按照上面提供的方法重新上傳。
代碼如下:

復制代碼 代碼如下:

<?php
/*
    方倍工作室 http://www.cnblogs.com/txw1958/
    CopyRight 2013  www.doucube.com  All Rights Reserved
*/

define("TOKEN", "pondbay");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->responseMsg();

class wechatCallbackapiTest
{
    public function responseMsg()
    {
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

        if (!empty($postStr)){
            $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($keyword == "?")
            {
                $msgType = "text";
                $contentStr = date("Y-m-d H:i:s",time());
                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                echo $resultStr;
            }
        }else{
            echo "";
            exit;
        }
    }
}
?>


效果如下:

相關(guān)文章

最新評論