程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 微信公眾平台開發入門教程(圖文),公眾入門教程

微信公眾平台開發入門教程(圖文),公眾入門教程

編輯:關於PHP編程

微信公眾平台開發入門教程(圖文),公眾入門教程


 

關鍵字:微信公眾平台開發入門

作者:C++研究室

 

 背景知識:微信公眾平台的開發需要有一定的PHP基礎知識,PHP是一種HTML內嵌式的語言,廣泛用於網站開發。微信服務器和開發者的服務器間有兩種數據傳輸方式,分別是XML和JSON。其中XML主要用在接受發送普通消息和事件推送中,而用戶管理、創建自定義菜單和高級群發等則需要用到JOSN格式數據。

 

在這篇微信公眾平台開發教程中,你可以跟著教程一起在整體上感性了解微信公眾平台的開發框架,可以幫助你更好的去入手。

我們將使用微信公眾賬號西安校園創客空間作為講解的例子,二維碼見底部。

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

 

                                                     第一節

 

申請新浪雲計算並創建平台應用

 

 

 

      第二節  申請虛擬主機及為微信平台搭建環境

         這裡我使用的是雲邦互聯的虛擬空間為大家作以演示,首先,打開網站如下圖:

               

 

          然後在右上角按照提示注冊即可,選擇使用1G的免費空間。

    2、開通空間之後打開控制面板,就可以看到主機信息了。

         

   3、接下來我們用 8uftp 登陸虛擬空間。

       

 

 

    4、登錄之後,用 8uftp   將 index.php 文件上傳到虛擬空間的根目錄中的web文件夾下,如下:

       

      至此,你使用虛擬空間為微信公眾平台搭建服務器就成功了,後續只要將實現相應功能的代碼通過8uftp上傳上去即可。

 

 

 

第三節 啟用開發模式與接入服務器

微信公眾平台開發模式

高級功能

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

登錄微信公眾平台後台,在左側列表中最下方,找到“ 基本配置 ”,點擊進入

進入服務器配置填寫框。

點擊“修改配置”按鈕,則出現下圖。

此處的URL為上篇中介紹的雲應用的域名,而Token在index.php中定義為weixin。EncodingAESKey則不用填,點擊“隨機生成”讓自動生成一個,消息加解密方式選擇“明文模式”,然後點擊“提交”按鈕。

在彈出的提示框中,點擊“確定”

配置修改後如圖所示,再點擊“啟用”按鈕

詢問“是否確定開啟服務器配置”,點擊“確定”

如果提示“token驗證失敗”,可以先重次幾次,微信服務器有時候不穩定。:如果使用新浪SAE可能要求進行實名認證,請先上傳身份證進行實名認證並通過審核後再試!

 

 

                   

 

 

                     如果還是失敗,請先用微信調試器測試一下url和token是否正確。(直接在百度搜索 會有好多免費的哦)

第四節   接口的調用與常用功能的實現

             

   示例1:API調用之百度翻譯

        申請百度翻譯API接口

下面介紹如何使用百度翻譯 API 制作擁有翻譯功能的公眾賬號。

    1、首先,登陸申請成為百度開發者,申請鏈接地址為 http://developer.baidu.com/ 。申請成為開發者之後,登陸該網站,在管理控制台的下拉菜單中選擇開發者服務管理,如下圖所示。

   

  1. 我們通過調用百度翻譯的API可以實現英文翻譯中文,中文翻譯英文,中文翻譯日文,日文翻譯中文。目前百度AIP支持這三種語言的翻譯

  2. 首先進入百度翻譯的網頁,網站如下箭頭所示

  3. 進入後點擊“使用指南”

  4. 進入使用智能頁面後,網下浏覽頁面,在頁面中間部分,即可看到百度翻譯的API接口

  5. 根據上面的接口,我們可以構建接口代碼:

    http://openapi.baidu.com/public/2.0/bmt/translate?client_id=uA6zT1kh5O1UXvTrUuFjFHiK&q={$keyword}&from=auto&to=auto

    “9peNkh97N6B9GGj9zBke9tGQ”這一串為自己的百度密鑰,在百度的應用中心單擊基本信息可以看到

  6. 關鍵代碼為:

    case "text";

    $tranurl="http://openapi.baidu.com/public/2.0/bmt/translate?client_id=uA6zT1kh5O1UXvTrUuFjFHiK&q={$keyword}&from=auto&to=auto";//百度翻譯地址

                    $transtr=file_get_contents($tranurl);//讀入文件

    $transon=json_decode($transtr);//json解析

    //print_r($transon);

    $contentStr = $transon->trans_result[0]->dst;//讀取翻譯內容

    break;

  7. 登錄手機微信,最後實現的結果如下:

     所用代碼如下:
 1 <?php
 2 //6.2 百度翻譯  C++研究室  CopyRight 2016 
 3 define("TOKEN", "weixin");
 4 $wechatObj = new wechatCallbackapiTest();
 5 if (!isset($_GET['echostr'])) {
 6     $wechatObj->responseMsg();
 7 }else{
 8     $wechatObj->valid();
 9 }
10 
11 class wechatCallbackapiTest
12 {
13     public $fromUsername='';
14     public $toUsername='';
15  public function valid()
16     {
17         $echoStr = $_GET["echostr"];
18         if($this->checkSignature()){
19             echo $echoStr;
20             exit;
21         }
22     }
23 
24     private function checkSignature()
25     {
26         $signature = $_GET["signature"];
27         $timestamp = $_GET["timestamp"];
28         $nonce = $_GET["nonce"];
29         $token = TOKEN;
30         $tmpArr = array($token, $timestamp, $nonce);
31         sort($tmpArr, SORT_STRING);
32         $tmpStr = implode($tmpArr);
33         $tmpStr = sha1($tmpStr);
34 
35         if($tmpStr == $signature){
36             return true;
37         }else{
38             return false;
39         }
40     }
41 
42     public function responseMsg(){
43         $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
44             $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
45                 $fromUsername = $postObj->FromUserName;
46                 $toUsername = $postObj->ToUserName;
47                 $type = $postObj->MsgType;
48                 $event=$postObj->Event;
49                 $Event_Key=$postObj->EventKey;
50                 $mid=$postObj->MediaId;
51                 $link=$postObj->Url;
52             
53                 $latitude  = $postObj->Location_X;
54                 $longitude = $postObj->Location_Y;
55                 $keyword = trim($postObj->Content);
56                 $time = time();
57                  $textTpl = "<xml>
58                             <ToUserName><![CDATA[%s]]></ToUserName>
59                             <FromUserName><![CDATA[%s]]></FromUserName>
60                             <CreateTime>%s</CreateTime>
61                             <MsgType><![CDATA[text]]></MsgType>
62                             <Content><![CDATA[%s]]></Content>
63                             </xml>"; 
64                             if($keyword!=''){
65                             $id="R90FXoW4OPtCbLkD9Aiaihz0";
66 $url="http://openapi.baidu.com/public/2.0/bmt/translate?client_id=$id&q=$keyword&from=auto&to=auto";
67 $res=file_get_contents($url);
68 $res=json_decode($res,true);
69 $contentStr=$res['trans_result'][0]['dst'];
70 }                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $contentStr);
71                     echo $resultStr;
72   }
73 }
74 ?>

 

 

           

   示例2:API調用之小黃雞

1、注冊simsimi 賬號

URL: http://developer.simsimi.com/signUp

2、 激活賬號

3、 獲取API Key

   4、   具體實現

         調用小黃雞API 實現

調用simsim($keyword) 函數處理,將其中的“Your API Key” 換成申請到的API Key。

  //小黃雞   C++研究室   CopyRight 2016
    public function simsim($keyword){

        $key="41250a68-3cb5-43c8-9aa2-d7b3caf519b1";
        $url_simsimi="http://sandbox.api.simsimi.com/request.p?key=".$key."&lc=ch&ft=0.0&text=".$keyword;
        
        $json=file_get_contents($url_simsimi);  // 把整個文件讀入一個字符串中

        $result=json_decode($json,true);  // 對JSON 格式的字符串進行編碼

        //$errorCode=$result['result'];  // 調試用

        $response=$result['response'];  // 回復的消息

        if(!empty($response)){
            return $response;
        }else{
            $ran=rand(1,5);
            switch($ran){
                case 1:
                    return "小雞雞今天累了,明天再陪你聊天吧。";
                    break;
                case 2:
                    return "小雞雞睡覺喽~~";
                    break;
                case 3:
                    return "呼呼~~呼呼~~";
                    break;
                case 4:
                    return "你話好多啊,不跟你聊了";
                    break;
                case 5:
                    return "感謝您關注西安校園創客空間"."\n"."微信號:xaxymaker"."\n";
                    break;
                default:
                    return "感謝您關注西安校園創客空間"."\n"."微信號:xaxymaker"."\n";
                    break;
            }
        }
    }

 

 

       同時,微信公眾號還可以實現 天氣查詢 火車查詢 快遞查詢 會員卡、優惠券、大轉盤、微網站、3G相冊之類的。微菜單,微網站,微會員,微團購,微調研,微相冊,微推送,微統計,微支付,微客服,等等功能。

 

 以上便是簡單的微信公眾平台基本教程,如果你用心感悟了,感覺你有所收獲了,一切始於實踐,請按照教程入手,開啟你的微信開發之旅吧!!  如果還有什麼不懂的,請掃一掃公眾號二維碼關注,回復“代碼”、“微信教程” ...   全部視頻教程 代碼資料 等著你!!!

         感謝你的閱讀,請用心感悟!希望可以幫到初學的您!!分享也是一種快樂!!!請接力。。。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved