Zusammenfassung: IBM hat Bluemix veröffentlicht und die Anzahl der öffentlichen WeChat-Plattformkonten hat mehr als 2 Millionen erreicht. Wenn Bluemix zur Entwicklung öffentlicher WeChat-Plattformanwendungen verwendet werden kann, sind das großartige Neuigkeiten Mehrheit der WeChat-Entwickler.
[Anmerkung des Herausgebers] IBM hat kürzlich Bluemix veröffentlicht, eine Platform-as-a-Service (PaaS)-Umgebung, die auf offenen Standards zum Erstellen, Ausführen und Verwalten von Web- und Mobilanwendungen in der Cloud basiert. Die Zahl der öffentlichen WeChat-Plattformkonten hat mehr als 2 Millionen erreicht. Wenn Bluemix zur Entwicklung öffentlicher WeChat-Plattformanwendungen verwendet werden kann, ist der Autor davon überzeugt, dass dies der Mehrheit der WeChat-Entwickler gute Nachrichten zum Lernen, Bereitstellen und Testen bringen wird. Daher haben wir nach der Recherche die Anwendungsentwicklung der öffentlichen WeChat-Plattform auf Basis von Bluemix erfolgreich abgeschlossen.
Bevor Sie die öffentliche WeChat-Plattform entwickeln, müssen Sie ein öffentliches WeChat-Konto beantragen. Ich werde hier nicht auf Details eingehen. Der Name des vom Autor verwendeten öffentlichen WeChat-Kontos lautet: „Zhenghai Shuo Knowledge Innovation“. , und der Code lautet: „zhszscx“. Ich werde nicht näher auf die Beantragung eines öffentlichen WeChat-Kontos eingehen.
Die Entwicklung der öffentlichen WeChat-Plattform in Bluemix umfasst hauptsächlich die folgenden Schritte:
Ein Bluemix-Konto beantragen
Das Cloud Foundry-Programm herunterladen und installieren
Kompilieren eine Anwendungskonfigurationsdatei
Die öffentliche WeChat-Plattform in den Entwicklungsmodus versetzen
Eine Bluemix-basierte URL festlegen
Das Token der öffentlichen WeChat-Plattformanwendung festlegen
Laden Sie das Beispielprogramm der öffentlichen WeChat-Plattform herunter. Der Autor verwendet die PHP-Sprache, um das Programm zu ändern, setzt das Token (TOKEN)
lädt die PHP-Datei hoch (Push) und die Anwendung beginnt mit der Ausführung
in WeChat Auf der öffentlichen Plattform erfolgt die Überprüfung über den Bearbeitungsmodus.
Verwenden Sie WeChat auf Ihrem Mobiltelefon, um Informationen an die öffentliche WeChat-Plattform zu senden und die von der öffentlichen WeChat-Plattform zurückgegebenen Informationen zu erhalten.
Zu diesem Zeitpunkt ist die Entwicklung der öffentlichen WeChat-Plattformanwendung auf Basis von Bluemix erfolgreich abgeschlossen und Entwickler können auf dieser Basis weitere Entwicklungen durchführen.
Abbildung 1. Systemrahmen
Prozessbeschreibung
Bewerben Sie sich für einen Bluemix Konto
Betreten Sie die Website: www.bluemix.net
Abbildung 2
Laden Sie die Cloud herunter und installieren Sie sie Gießereiprogramm
Abbildung 3
Laden Sie das entsprechende Programm entsprechend dem Programmbetriebssystem des Entwicklers herunter.
Abbildung 4
Die Download-Adresse des Autors lautet beispielsweise: „Windows 64 Bit“ unter „Stabile Installationsprogramme“
Eine Datei heruntergeladen, Die Datei ist installer-windows-amd64 .zip
Nach der Installation dieser Datei wird eine cf.exe-Datei unter C:Programme (x86)Cloud Foundry generiert. Gleichzeitig wurde nach der Überprüfung festgestellt, dass das Verzeichnis auch zum PATH-Pfad des Systems hinzugefügt wurde, was bedeutet, dass der CF-Befehl direkt in die DOS-COMMAND-Umgebung eingegeben werden kann, um die Datei auszuführen.
Bereiten Sie eine Anwendungskonfigurationsdatei vor
Der Dateiname lautet: manifest.yml Als Anwendung müssen Sie den Namen der Anwendung und die von der Anwendung generierte URL festlegen :
---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>
Hinweis:
Name gibt den Namen der Anwendung an.
Host gibt den erweiterten Domänennamen der Anwendung an. Die obige Beispieldatei generiert beispielsweise die Domainname:
lzhfirstphp.ng .bluemix.net
Es sollten keine weiteren Änderungen vorgenommen werden. Speichern Sie die Datei, nachdem die Änderung abgeschlossen ist.
Beim Vorbereiten dieser Datei sind drei Dinge zu beachten:
Das Dateiformat muss als UTF-8 angegeben werden.
Achten Sie beim Festlegen des Anwendungsnamens darauf, dies nicht zu tun wiederhole es.
Machen Sie den HOST-Namen so lang wie möglich oder stellen Sie ihn entsprechend dem persönlichen Namen oder Firmennamen ein. Beim Hochladen und Bereitstellen ist dem Autor ein Fehler unterlaufen . Nach späterer Änderung war die Bereitstellung erfolgreich.
Stellen Sie den Entwicklungsmodus auf der öffentlichen WeChat-Plattform ein
Betreten Sie die öffentliche WeChat-Plattform, geben Sie nach dem Anmelden die erweiterten Funktionen ein und stellen Sie den Start des Entwicklungsmodus ein.
Abbildung 5
Abbildung 6
Stellen Sie in der öffentlichen WeChat-Plattformschnittstelle das entsprechende ein URL und Token.
Abbildung 7
Legen Sie eine Bluemix-basierte URL fest
Legen Sie die URL in der URL fest. Beachten Sie, dass das Formular hier die sein muss Gleiche wie die vorherige einstellung konsistent.
Legen Sie das Token der öffentlichen WeChat-Plattformanwendung fest.
Legen Sie eine Token-Information fest, die Sie selbst angeben, normalerweise unter Verwendung von Sonderzeichen, um die Sicherheit zu gewährleisten.
下载微信公众平台的范例程序,笔者采用 PHP 语言,对该程序进行修改,设置令牌(token)等相关信息。开发者可以在微信公众平台开发者文档中下载 DEMO 文件。
图 8
清单 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, '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(!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
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 平台实现开发微信公共账号应用。
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Beispiels eines WeChat-Entwicklungskontos basierend auf IBM Bluemix. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!