>  기사  >  위챗 애플릿  >  IBM Bluemix 기반 WeChat 개발 계정의 자세한 예

IBM Bluemix 기반 WeChat 개발 계정의 자세한 예

Y2J
Y2J원래의
2017-04-27 12:01:081383검색

요약: IBM은 Bluemix를 출시했으며 WeChat 공개 플랫폼 계정 수가 200만 개를 넘었습니다. Bluemix를 사용하여 WeChat 공개 플랫폼 애플리케이션을 개발할 수 있다면 이는 좋은 소식이 될 것입니다. 대부분의 WeChat 개발자.

[편집자 주] IBM은 최근 클라우드에서 웹 및 모바일 애플리케이션을 구축, 실행 및 관리하기 위한 개방형 표준 기반 PaaS(Platform-as-a-Service) 환경인 Bluemix를 출시했습니다. WeChat 공개 플랫폼 계정 수가 200만 개 이상에 도달했습니다. 따라서 Bluemix를 사용하여 WeChat 공개 플랫폼 애플리케이션을 개발할 수 있다면 대다수 WeChat 개발자에게 학습, 배포, 테스트 및 학습할 수 있는 좋은 소식을 가져올 것이라고 저자는 믿습니다. 따라서 저자는 연구를 거쳐 Bluemix를 기반으로 한 WeChat 공개 플랫폼의 애플리케이션 개발을 성공적으로 완료했습니다. 다음은 WeChat 공개 개발자가 심층적인 애플리케이션을 홍보할 수 있도록 간략하게 소개합니다.

WeChat 공개 플랫폼을 개발하기 전에 WeChat 공개 계정을 신청해야 합니다. 여기서는 자세히 설명하지 않겠습니다. 저자가 사용하는 WeChat 공개 계정의 이름은 "Zhenghai Shuo Knowledge Innovation"입니다. , 코드는 "zhszscx"입니다. WeChat 공개 계정을 신청하는 방법에 대해서는 자세히 설명하지 않겠습니다.

Bluemix에서 WeChat 공개 플랫폼을 개발하는 과정은 주로 다음 단계로 구성됩니다.

Bluemix 계정 신청

Cloud Foundry 프로그램 다운로드 및 설치

컴파일 애플리케이션 구성 파일

WeChat 공개 플랫폼을 개발 모드로 설정

Bluemix 기반 URL 설정

WeChat 공개 플랫폼 애플리케이션의 토큰 설정

WeChat 공개 플랫폼의 샘플 프로그램을 다운로드합니다. 작성자는 PHP 언어를 사용하여 프로그램을 수정하고 토큰(TOKEN)을 설정합니다.

PHP 파일을 업로드(푸시)하면 애플리케이션이 실행됩니다

in WeChat 공개 플랫폼에서는 편집 모드를 통해 인증이 이루어집니다.

휴대폰에서 WeChat을 사용하여 WeChat 공개 플랫폼에 정보를 보내고 WeChat 공개 플랫폼에서 반환된 정보를 얻으세요.

현재 Bluemix 기반 WeChat 공개 플랫폼 애플리케이션 개발이 성공적으로 완료되었으며 개발자는 이를 기반으로 추가 개발을 수행할 수 있습니다.

그림 1. 시스템 프레임워크

IBM Bluemix 기반 WeChat 개발 계정의 자세한 예

프로세스 설명

Bluemix 신청 계정

웹사이트 입력: www.bluemix.net

그림 2

IBM Bluemix 기반 WeChat 개발 계정의 자세한 예

클라우드 다운로드 및 설치 파운드리 프로그램

그림 3

IBM Bluemix 기반 WeChat 개발 계정의 자세한 예

개발자의 프로그램 운영체제에 맞춰 해당 프로그램을 다운로드한다.

그림 4

IBM Bluemix 기반 WeChat 개발 계정의 자세한 예

예를 들어 작성자의 다운로드 주소는 Stable Installers 아래의 "Windows 64 bit"입니다.

파일을 다운로드하고, 파일은 installer-windows-amd64 .zip

이 파일을 설치한 후 C:Program Files (x86)Cloud Foundry에 cf.exe 파일이 생성됩니다. 동시에 조사 결과 시스템의 PATH 경로에도 해당 디렉터리가 추가된 것으로 확인되었는데, 이는 DOS COMMAND 환경에서 CF 명령을 직접 입력하여 파일을 실행할 수 있음을 의미합니다.

애플리케이션 구성 파일 준비

파일 이름은 매니페스트.yml 애플리케이션으로서 애플리케이션 이름과 애플리케이션에서 생성된 URL을 설정해야 합니다. :

---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 이름은 최대한 길게 설정하시거나, 개인명이나 회사명에 맞게 설정해주세요. . 나중에 수정한 후 배포에 성공했습니다.

WeChat 공개 플랫폼에서 개발 모드 설정

WeChat 공개 플랫폼에 들어가서 로그인하고 고급 기능에 들어가서 개발 모드를 설정하세요.

그림 5

IBM Bluemix 기반 WeChat 개발 계정의 자세한 예

그림 6

IBM Bluemix 기반 WeChat 개발 계정의 자세한 예

WeChat 공개 플랫폼 인터페이스에서 해당 설정 URL 및 토큰.

그림 7

IBM Bluemix 기반 WeChat 개발 계정의 자세한 예

Bluemix 기반 URL 설정

URL에 URL을 설정하세요. 이전 설정과 동일합니다.

WeChat 공개 플랫폼 애플리케이션의 토큰 설정

보안을 보장하기 위해 일반적으로 특수 문자를 사용하여 사용자가 지정하는 토큰 정보를 설정합니다.

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

图 8

IBM Bluemix 기반 WeChat 개발 계정의 자세한 예

清单 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 기반 WeChat 개발 계정의 자세한 예

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 기반 WeChat 개발 계정의 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.