搜尋
首頁微信小程式微信開發微信開發帳號是基於IBM Bluemix的實例詳解

摘要:IBM發布了Bluemix,而微信公共平台的帳號已經達到了200多萬,如果能利用Bluemix開發微信公共平台應用,這對於廣大微信開發者來說是個大福音。

【編者按】IBM 最近發布了Bluemix, 這是一個基於開放標準的平台即服務 (PaaS) 環境,用於在雲端中建置、運行和管理 Web 和行動應用程式。而微信公共平台的帳號已經達到了200 多萬,因此如果能利用Bluemix 開發微信公共平台應用,筆者認為將為廣大的微信開發者學習、部署、測試、直至形成商業應用帶來福音,所以筆者透過研究,成功完成了基於Bluemix 的微信公共平台應用開發,在此做一些簡要的介紹,以便於微信公共開發者推動深化應用。

在開發微信公眾平台前,需要申請一個微信公共帳號,此處不做贅述,筆者使用的微信公共帳號名稱為:"正海說知識創新",代號為:"zhszscx"。如何申請微信公共帳號,筆者不做贅述。

在Bluemix 中開發微信公眾平台主要包含以下步驟:

申請Bluemix 帳號

下載並安裝Cloud Foundry 程式

編制一個應用程式的配置檔案

在微信公眾平台設定為開發模式

設定一個基於Bluemix 的網址URL

設定微信公眾平台應用的令牌(Token)

#下載微信公眾平台的範例程序,筆者採用PHP 語言,對該程序進行修改,設置令牌(TOKEN)

上傳(push)PHP 文件,應用開始執行

在微信在公眾平台中,驗證通過編輯模式。

利用手機微信,向微信公眾平台發送訊息,獲得微信公眾平台返回的訊息。

至此,基於 Bluemix 的微信公眾平台應用程式開發順利完成,開發者可以在此基礎上進行進一步的發展。

圖1.系統框架

微信開發帳號是基於IBM Bluemix的實例詳解

#程式描述

申請Bluemix 帳號

進入網址: www.bluemix.net

圖2

微信開發帳號是基於IBM Bluemix的實例詳解

下載並安裝Cloud Foundry 程式

圖3

微信開發帳號是基於IBM Bluemix的實例詳解

根據開發者的程式作業系統下載對應的程式。

圖4

微信開發帳號是基於IBM Bluemix的實例詳解

例如筆者下載地址是: Stable Installers 下的"Windows 64 bit"

下載了一個文件,該檔案為installer-windows-amd64 .zip

安裝檔案後,在C:\Program Files (x86)\Cloud Foundry 下產生了一個cf.exe 檔案。同時經過檢查發現,在系統的 PATH 路徑中,也增加了該目錄,也就是說可以直接在 DOS COMMAND 環境下輸入 CF 指令執行該檔案。

編制一個應用程式的設定檔

檔名為:manifest.yml 作為一個應用,需要設定應用程式的名稱、應用程式產生的網址,範例的檔案為:

---applications:- name: cf-php-mysql1  memory: 256M  instances: 1  host: lzhfirstphp  domain: ng.bluemix.net  path: .  buildpack: <a href="https://github.com/dmikusa-pivotal/cf-php-build-pack.git">https://github.com/dmikusa-pivotal/cf-php-build-pack.git</a>

說明:

name 指定了應用程式的名稱

host 指定了應用程式的擴充域名,如上面的範例檔案則產生域名:

lzhfirstphp. ng.bluemix .net

其他不做變動,修改完成後,將檔案儲存。

編制該檔案有三個注意事項:

檔案格式需要指定為 UTF-8 的格式

設定應用程式名稱時,需要注意不能重複。

設定 HOST 名稱時,盡可能長一些,或者按照個人姓名、公司名稱進行設置,筆者上傳部署時曾經出現過錯誤,估計是名稱重複,後來修改後,部署成功。

在微信公眾平台設定為開發模式

進入微信公眾平台,登入後,進入進階功能,設定開始開發模式。

圖5

微信開發帳號是基於IBM Bluemix的實例詳解

#圖6

微信開發帳號是基於IBM Bluemix的實例詳解

#在微信公眾平台介面中,設定對應的URL 及令牌。

圖7

微信開發帳號是基於IBM Bluemix的實例詳解

設定一個基於Bluemix 的網址

在URL 中設定網址,注意此處的形式必須與前面設定的一致。

設定微信公眾平台應用的令牌(token)

設定一個令牌信息,該令牌信息是由自己指定的,一般採用特別的字符進行,以保證安全性。

下载微信公众平台的范例程序,笔者采用 PHP 语言,对该程序进行修改,设置令牌(token)等相关信息。开发者可以在微信公众平台开发者文档中下载 DEMO 文件。

图 8

微信開發帳號是基於IBM Bluemix的實例詳解

清单 1

<?php/**  * wechat php test  *///define your tokendefine("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();$wechatObj->valid();class wechatCallbackapiTest{public function valid()    {        $echoStr = $_GET["echostr"];        //valid signature , option        if($this->checkSignature()){        echo $echoStr;        exit;        }    }    public function responseMsg()    {//get post data, May be due to the different environments$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];      //extract post dataif (!empty($postStr)){                              $postObj = simplexml_load_string($postStr, &#39;SimpleXMLElement&#39;, 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(!empty( $keyword ))                {              $msgType = "text";                $contentStr = "Welcome to wechat world!";                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,                                          $msgType, $contentStr);                echo $resultStr;                }else{                echo "Input something...";                }        }else {        echo "";        exit;        }    }private function checkSignature(){        $signature = $_GET["signature"];        $timestamp = $_GET["timestamp"];        $nonce = $_GET["nonce"];        $token = TOKEN;$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}}?>

在这个文件中,有三处需要改动:

第一:设置 TOKEN

define("TOKEN", "abcdefg123");//第一处修改

这里的数值,需要与前面网页中的 Token 的设置严格一致。

第二:这个范例程序中只是设置了验证模式,而没有消息的响应处理,笔者将该文件进行了修改,当存在验证参数时进行验证,而不存在验证信息时,则调用响应方法。

if   ( $_GET["echostr"] )
 {
    $wechatObj->valid();
  }
  else
  {
   $wechatObj->responseMsg();
}

第三:在范例程序中,对输入信息进行了一点处理,设置为返回信息。

$contentStr = "Welcome to wechat world!".$keyword;

也就是将微信粉丝输入的信息,加上"Welcome to wechat world!"后返回。

另外需要注意的是该 PHP 文件的编码也必须是 UTF-8 的。上传(push)PHP 文件,如果上传正确,则等待应用执行。

该文件名指定必须与前述的配置文件完全一致。

在正常的配置结束后,就可以在 Bluemix 中看到该应用,该应用处于正常运行的状态。

图 9

微信開發帳號是基於IBM Bluemix的實例詳解

cf api https://api.ng.bluemix.net
cf login

此处输入申请的用户邮件、密码,执行至运行结束。

cf push -f manifest.yml

在微信公众平台中,点击提交,系统会提示验证通过。如果提示验证不通过,需要检查 URL、Token、程序中的 Token 以及程序代码的正确性。

另外,需要注意的是,腾讯要求服务器响应必须在 5 秒以内,因此在网络环境不够好的情况下,也许需要多提交几次才可以完成。

特别需要注意的是,笔者曾经进行过新浪的微博开发,新浪微博开发可以采取本地服务器,一样可以验证通过,而腾讯的这种验证必须使用外部可以访问的网址,笔者曾经为此很困扰,而且腾讯的验证必须使用 80 端口,不支持 URL 带端口号,这也曾经困扰过笔者。幸而 IBM 的 Bluemix 平台可以支持。

利用手机微信,向微信公众平台发送信息,获得微信公众平台返回的信息。

设置成功后,例如手机微信关注该微信公众平台账号,例如笔者的"正海说知识创新",账号:"zhszscx"关注的方法可以是名称查询、代号查询,也可以扫描如下的二维码,进行体验。

想该账号发送:hello!

将会收到系统返回的:Welcome to wechat world! hello!

这就表示基于 Bluemix 的微信公众平台开发顺利完成。

开发中注意事项

对于前面开发中介绍到的可能出现问题的地方再做一些总结:

正确设置 HOST 名称,不可以重复。

HOST 名称加上域名,需要和微信公众平台中的 URL 相匹配。

程序中的 Token 的设置必须同微信公众平台中的设置相匹配。

配置文件必须使用 UTF-8 格式。

Index.php 程序文件格式必须使用 UTF-8 格式。

系统未做说明,但是默认采用的是 index.php 文件作为入口,也就是说,如果按本文所叙述的程序编制方法,利用域名访问时,将没有结果展示。

在微信公众平台提交时,可能显示失败,需要提交多次,知道显示成功。

另外需要说明的是,目前的程序只对文本型微信信息进行了回复,其他信息未做处理。而开发者如果在开发中需要变更程序,则需要再次 PUSH 就可以,但是不需要在微信编辑模式再次提交。

发展展望

笔者在前述的基础上,又增加了数据库的链接,主要是 MYSQL 服务的建立、MYSQL 服务与应用的绑定,在 PHP 程序文件中实现服务的参数调用,数据表的创建、插入、显示,成功实现了数据库的处理,另外也成功部署了基于 PHP 的网站形式的应用,有了这样的基础,说明可以利用 IBM 的 Bluemix 平台实现开发微信公共账号应用。

以上是微信開發帳號是基於IBM Bluemix的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具