微信开发帐号基于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.系统框架
过程描述
申请 Bluemix 账号
进入网址: www.bluemix.net
图 2
下载并安装 Cloud Foundry 程序
图 3
根据开发者的程序操作系统下载对应的程序。
图 4
例如笔者下载地址是: 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
图 6
在微信公众平台接口中,设置对应的 URL 及令牌。
图 7
设置一个基于 Bluemix 的网址
在 URL 中设置网址,注意此处的形式必须与前面设置的一致。
设置微信公众平台应用的令牌(token)
设置一个令牌信息,该令牌信息是由自己指定的,一般采用特别的字符进行,以保证安全性。
下载微信公众平台的范例程序,笔者采用 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 平台实现开发微信公共账号应用。
以上是微信开发帐号基于IBM Bluemix的实例详解 的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

感谢网友情切琛思、HH_KK、石原里美幸福、华南吴彦祖的线索投递!9月2日消息,近期有传言称“iPhone16可能不支持微信”,对此贝壳财经记者致电苹果官方热线,苹果中国区技术顾问回应称,关于iOS系统或苹果设备能否继续使用微信,以及微信能否继续在苹果应用商店上架和下载的问题,需要苹果公司与腾讯之间进行沟通和探讨,才能确定之后的情况。软件应用商店及微信问题说明软件应用商店技术顾问指出,软件在苹果商店上架可能需要开发者支付费用。达到一定下载量后,后续下载需向苹果支付相应费用。苹果正与腾讯积极沟通,

DeepSeek:强大的AI图像生成利器!DeepSeek本身并非图像生成工具,但其强大的核心技术为众多AI绘画工具提供了底层支持。想知道如何利用DeepSeek间接生成图片吗?请继续阅读!利用基于DeepSeek的AI工具生成图像:以下步骤将引导您使用这些工具:启动AI绘画工具:在您的电脑、手机浏览器或微信小程序中搜索并打开一个基于DeepSeek的AI绘画工具(例如,搜索“简单AI”)。选择绘画模式:选择“AI绘图”或类似功能,并根据您的需求选择图片类型,例如“动漫头像”、“风景

微信支持iPhone16谣言被辟谣感谢网友西窗旧事、HH_KK的线索投递!9月2日消息,今日有传言称,微信可能不支持iPhone16,iPhone一旦升级到iOS18.2系统将无法使用微信。据《每日经济新闻》从知情人士处获悉,此传言为谣言。苹果回应另据贝壳财经报道,苹果中国区技术顾问回应称,关于iOS系统或苹果设备能否继续使用微信,以及微信能否继续在苹果应用商店上架和下载的问题,需要苹果公司与腾讯之间进行沟通和探讨,才能确定之后的情况。目前,苹果正与腾讯积极沟通,以确认腾讯是否会继续向苹果应用商

Gate.io,一家创立于 2013 年的领先加密货币交易平台,为中国用户提供了完整的中文官方网站。该网站提供广泛的服务,包括现货交易、期货交易和借贷,并提供中文界面、丰富的资源和社区支持等特色功能。

OKX 交易平台提供了各种类型的费率,包括交易费用、提款费用和融资费用。对于现货交易,交易费用根据交易量和 VIP 等级而有所不同,采取“做市商模式”,即市场每笔交易收取较低的手续费。此外,OKX 还提供了多种类型的期货合约,包括币本位合约、USDT 合约和交割合约,每种合约的费用结构也有所不同。

Gateio 交易所 app 老版本下载渠道,涵盖官方、第三方应用市场、论坛社区等途径,还给出下载注意事项,帮你轻松获取老版本,解决新版本使用不适或设备兼容问题。

本文提供国内安全下载欧易OKX App的详细指南。由于国内应用商店限制,建议用户通过欧易OKX官方网站下载App,或使用官网提供的二维码扫描下载。下载过程中,务必核实官网地址,检查应用权限,安装后进行安全扫描,并启用双重验证。 使用过程中,请遵守当地法律法规,使用安全网络环境,保护账户安全,警惕诈骗,理性投资。 本文仅供参考,不构成投资建议,数字资产交易风险自负。

Gate.io(芝麻开门)是全球领先的加密货币交易平台,本文提供Gate.io现货交易完整教程。教程涵盖账户注册登录、KYC认证、法币及数字货币充值、交易对选择、限价/市价交易下单以及订单和交易记录查看等步骤,助您快速上手Gate.io平台进行加密货币交易。 无论是新手还是老手,都能从本教程中获益,轻松掌握Gate.io交易技巧。
