編集モード と開発モード
WeChat 公開アカウントの申請に成功した後、ユーザーを受信して処理したい場合は、 「高度な機能」で設定するには、「高度な機能」をクリックすると、次のインターフェイスが表示されます:
上の図からわかるように、高度な機能には、編集モードと開発という 2 つのモードが含まれています。これら 2 つのモードは相互に排他的です。つまり、2 つのモードの違いは何ですか?
編集モードは主にどれですか? プログラミング以外の場合。人事や情報公開のために公開アカウントによって使用されます。このモードをオンにすると、インターフェースを通じて「カスタムメニュー」と「自動返信メッセージ」を簡単に設定できます。
開発モード:開発機能を使用すると、WeChat パブリック プラットフォームのオープン インターフェイス を使用して、プログラミングを通じてカスタム メニューの作成やユーザー メッセージの受信/処理/応答を実現できます。このモードはより柔軟であり、推奨されます。開発能力のある企業または個人はこのモードを使用します。
開発モードを有効にする (パート 1)
WeChat パブリック アカウントを登録すると、デフォルトで編集モードが有効になります
1) クリックして編集モードに入り、以下の図に示すように、右上隅にある編集モードスイッチを「オン」から「オフ」に切り替えます。
関数を使用して開発モードに入り、右上隅を回します。 開発モードのスイッチが「オフ」から「オン」に切り替わりますが、切り替える際に次のプロンプトが表示されます:
このプロンプトでは、開発モードをオンにする前に、下の図にある [開発者になる] ボタン
情報が不完全な場合は、最初に情報を入力してから戻って操作を続行してください。入力する必要がある情報には、パブリック アカウントのアバター、説明、地域が含まれます
情報を入力したら、もう一度 [開発者になる] をクリックすると、以下に示すように、インターフェイス設定情報インターフェイスが表示されます。 :
ここに URL とトークンの値を入力する必要があります。URL は、WeChat サーバーによって送信された GET/
POST リクエストを受信して処理できるアドレスを指します。これには、最初にバックグラウンドでパブリック アカウントを処理する必要があり、プログラムが開発され (少なくとも GET リクエストの処理が完了している必要があります)、パブリック ネットワーク サーバーに展開されます。つまり、インターフェイスの構成を完了するには、WeChat サーバーの GET リクエストの処理を完了するだけで済みます。 では、なぜそうなるのでしょうか?これは WeChat パブリック プラットフォーム インターフェイスで定義されているためです。詳細については、APIDocumentation-Message Interface-Message Interface Guide の URL アクセスのセクションを参照してください。ここをクリックして入力してください。
実際、これが何を言っているのか理解できれば大丈夫です。関連するコードの書き方については、すでに書いていますので、読み続けてください。 。
パブリックアカウントバックエンドインターフェースプログラムを作成します
Java Webプロジェクトを作成し、リクエストを処理できる新しい
サーブレットをここではorg.liufeng.course.servlet.CoreServletと名付けました。コード内で完了しているのは doGet メソッドだけであることがわかります。その機能はリクエストが WeChat サーバーからのものであるかどうかを確認することであり、doPost メソッドは今回説明するものではありません。 doPost メソッドについては、最初は空のままにしておきます。インターフェイスの設定を完了する必要はありません。
org.liufeng.course.util.SignUtil.checkSignature メソッドは doGet メソッドで呼び出されます。 SignUtil.java の実装は次のとおりです:
package org.liufeng.course.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.liufeng.course.util.SignUtil; /** * 核心请求处理类 * * @author liufeng * @date 2013-05-18 */ public class CoreServlet extends HttpServlet { private static final long serialVersionUID = 4440739483644821986L; /** * 确认请求来自微信服务器 */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 微信加密签名 String signature = request.getParameter("signature"); // 时间戳 String timestamp = request.getParameter("timestamp"); // 随机数 String nonce = request.getParameter("nonce"); // 随机字符串 String echostr = request.getParameter("echostr"); PrintWriter out = response.getWriter(); // 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败 if (SignUtil.checkSignature(signature, timestamp, nonce)) { out.print(echostr); } out.close(); out = null; } /** * 处理微信服务器发来的消息 */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO 消息的接收、处理、响应 } }
ここで注意が必要なのはメンバー
variableだけです。 SignUtil クラスのトークン、ここではインターフェイス設定情報のトークンにどのような値を割り当てる必要がありますか? 他の要件はありません。プロジェクト名、会社名の略称などを使用することをお勧めします。ここではプロジェクト名 weixinCourse を入力します。
最后再来看一下web.xml中,CoreServlet是怎么配置的,web.xml中的配置代码如下:
coreServlet org.liufeng.course.servlet.CoreServlet coreServlet/coreServletindex.jsp
到这里,所有编码都完成了,就是这么简单。接下来就是将工程发布到公网服务器上,如果没有公网服务器环境,可以去了解下BAE、SAE或阿里云。发布到服务器上后,我们在浏览器里访问CoreServlet,如果看到如下界面就表示我们的代码没有问题:
啊,代码都报空指针异常了还说证明没问题?那当然了,因为直接在地址栏访问coreServlet,就相当于提交的是GET请求,而我们什么参数都没有传,在验证的时候当然会报空指针异常。
接下来,把coreServlet的访问路径拷贝下来,再回到微信公众平台的接入配置信息界面,将coreServlet的访问路径粘贴到URL中,并将SignUtil类中指定的token值weixinCourse填入到Token中,填写后的结果如下图所示:
我在写这篇教程的时候是使用的BAE环境,如果想学习微信公众帐号开发又没有公网服务器环境的,建议可以试试,注册使用都很方便,如果有问题我们还可以交流。
接着点击“提交”,如果程序写的没问题,并且URL、Token都填写正确,可以在页面最上方看到“提交成功”的提示,并会再次跳转到开发模式设置界面,而且能够看到“你已成为开发者”的提示,如下图所示:
启用开发模式(下)
这个时候就已经成为开发者了,百般周折啊,哈哈,到这里还没有完哦,还有最后一步工作就是将开发模式开启。将右上角的开发模式开关由“关闭”切换到“开启”,如下图所示:
到这里,接口配置、开发模式的开启就都完成了,本章节的内容也就讲到这里。接下来要章节要讲的就是如何接收、处理、响应由微信服务器转发的用户发送给公众帐号的消息,也就是完成CoreServlet中doPost方法的编写。
以上就是微信公众帐号开发教程第3篇-开发模式启用及接口配置的内容,更多相关内容请关注PHP中文网(www.php.cn)!