你所在的位置:微信群>互联网推广>正文

开发环境搭建

原创
发布时间: 2023-07-15 13:09:44 热度: 206 作者: 李斯特 来源: 微信加 本文共 3614 字 阅读需要 13 分钟
开发环境搭建当开发微信公众号的应用后,需要将其部署到公网服务器进行测试,因为每当微信用户向公众号发起请求时,微信服务器都会先接收到用户的请求。
开发环境搭建

当开发微信公众号的应用后,需要将其部署到公网服务器进行测试,因为每当微信用户向公众号发起请求时,微信服务器都会先接收到用户的请求,然后转发到服务器上。也就是说,微信服务器要与服务器进行网络交互,所以必须保证服务器可以通过外网访问到。本节将要介绍怎样获取服务器资源、填写服务器配置信息与验证服务器地址的有效性。

接入指南

1. 获取服务器资源

微信公众号所需的服务器种类包括云主机、虚拟空间、新浪 SAE(Sina App Engine)与百度 BAE(Baidu App Engine)等。云主机是指自己托管于互联网数据中心(Internet Data Center,IDC)机房的服务器或者第三方服务商提供的服务器,一般一个人使用一整台服务器;虚拟空间是第三方服务商将一台主机分成多个虚拟主机,供多人使用;而新浪 SAE、百度 BAE 可以申请免费使用,但是有一定条件限制。许多个人开发者和中小企业,可能没有属于自己的服务器资源。人们平时在个人计算机上部署的应用都在局域网环境中,只能供自己或局域网用户访问,公网用户无法访问。但公众平台上的程序需要与微信服务器进行交互,因此必须部署在公网环境中。

以下以新浪 SAE 为例介绍如何申请免费的 SAE 应用空间以及上传程序文件。

(1)申请账号

在浏览器的地址栏中输入网址 https://www.wechatadd.com/,进入新浪云首页,在该页面中可以选择微博登录或注册账号。注册过程中,在图 2-1 所示的界面中填写微博账号与密码,或扫描二维码登录后直接跳转到微博授权确认部分,新浪云注册页面如图 2-2 所示。

图 2-1 新浪云登录页面

图 2-2 新浪云注册页面

(2)创建应用

注册成功后的页面如图 2-3 所示,在最上方左侧找到控制台,并从下拉列表中找到云应用 SAE。在跳转后的图 2-4 所示的应用管理部分单击「创建新应用」按钮。

图 2-3 注册成功页面

图 2-4 创建应用页面

单击「创建新应用」按钮后将会提示禁止违规行为,单击「继续创建」按钮,弹出创建应用的部署环境、云空间配置、应用信息填写页面。在部署环境模块的运行环境中选择标准环境,如图 2-5 所示。

图 2-5 「部署环境」页面

(3)创建版本

应用创建后将直接跳转至「代码管理」页面,如图 2-6 所示,单击页面中的「创建版本」按钮,将会弹出图 2-7 所示的页面,填写创建的版本号。

图 2-6 「代码管理」页面

图 2-7 「创建版本」页面

(4)上传代码

在图 2-8 中,单击「上传代码包」链接将会弹出「代码上传」页面,如图 2-9 所示。人们只需将微信公众号开发的相关代码压缩包上传至该应用,就可以运行。而单击「编辑代码」链接就可以看到上传的代码文件,并进行编辑,如图 2-10 所示。需要注意的是,新浪云只支持 zip、gz、tar.gz 格式的代码包,其他格式的暂时不支持。

图 2-8 版本显示

图 2-9 「代码上传」页面

图 2-10 代码编辑页面

2. 填写服务器配置

在基本配置页面单击「修改配置」按钮,需要填写的配置信息有 3 个:URL、Token 和 EncodingAESKey。其中,URL 是开发者用来接收微信消息和事件的接口 URL,该 URL 必须正确响应微信发送的 Token 验证,上面申请的新浪 SAE 应用就可以用来验证 Token;而 Token 是由开发者任意填写的签名,该 Token 会与服务器接口 URL 中包含的 Token 进行比对,从而验证安全性;EncodingAESKey 是由开发者手动填写或随机生成的,主要是用于消息体加密解密的密钥。服务器配置页面如图 2-11 所示。

图 2-11 服务器配置页面

与此同时,开发者可以根据业务需要选择消息加解密方式:明文模式、兼容模式或者安全模式。这 3 种模式的安全级别有明显的区别,如图 2-12 所示。加解密默认模式为明文模式,选择兼容模式和安全模式时需要写好相关加解密代码。

图 2-12 消息加解密方式

3. 验证服务器地址的有效性

开发者提交配置信息后,微信服务器将发送 GET 请求到填写的 URL 上,从而验证消息的确来自微信服务器,GET 请求携带参数如表 2-1 所示。

表 2-1 GET 请求参数列表

获得 GET 请求的几个参数后,开发者就可以通过 signature 对请求进行校验。开发者开发的校验程序要能够处理 GET 请求,并对请求者进行身份验证,确保请求来自微信服务器。校验流程如下:

① 首先将 token、timestamp、nonce 这个参数进行字典序排序;

② 随后将 3 个参数字符串拼接成一个字符串并进行 sha1 加密;

③ 开发者获得加密后的字符串后可与 signature 对比,标识该请求来源于微信,原样返回 echostr 参数内容,则接入生效。

检验 signature 的 C#示例代码如下:

  1. public void ProcessRequest (HttpContext context)   2. {   3. string s = 「」;   4. List<string>l = newList<string>();   5. l.Add (「你填写的 token」);   6. l.Add (context.Request.QueryString[「timestamp」]);   7. l.Add (context.Request.QueryString[「nonce」]);   8. l.Sort ();   9. foreach (string_s in l) s +=_s;   10. s= FormsAuthentication.HashPasswordForStoringInConfigFiles (s,「SHA1」). ToLower();   11. if (s == context.Request.QueryString[「signature」])   12. {   13. context.Response.Write(context.Request.QueryString[「echostr」]);   14. }   15. }   16. public bool IsReusable{   17. get{   18. return false;   19. }   20. }

接入成功后将成为开发者,可以申请微信认证,获得更多开发接口,实现企业或个人业务需求。

接口测试号申请

考虑到用户体验和安全性,微信公众号的注册设置了权限。某些高级接口权限需要微信认证后才可以获取,微信认证必须是企业或组织才能申请,个人是不可以的。所以,为了帮助开发者快速了解和上手微信公众号开发,熟悉各个接口的调用,微信团队推出了微信公众号测试号,测试号的申请比较简单,通过扫描二维码就可以获得测试号。

(1)输入网址 https://www.wechatadd.com?t=sandbox/login,进入微信公众平台接口测试账号申请页面。

(2)在出现的页面中单击「登录」按钮即会跳转至图 2-13 左侧所示的微信二维码页面,使用手机微信扫一扫网页中的二维码,手机就会出现图 2-13 右侧所示的登录公众平台测试账号系统页面。

图 2-13 微信二维码页面及微信公众平台测试账号系统登录页面

(3)单击「确认登录」按钮,网页端将会进入测试号管理页面。在该页面中将会提供测试号信息、接口配置信息与测试号二维码,包括 AppID 和 AppSecret 的测试号信息。除此以外,还需要填写接口配置信息,包括微信账号连接的 URL 网址和 Token 令牌号。Token 是指任意字符串,该字符串必须与 URL 网页中的 Token 相同。若没有服务器,可以按照 2.1.1 小节中的步骤申请一个 SAE 免费空间。

输入完毕后,单击「提交」按钮。连接成功后,将看到图 2-14 所示的页面。图 2-14 所示的只是部分接口的截图,若要详细了解测试账号的接口权限,可申请一个测试账号进行体验。

图 2-14 测试账号接口权限表

版权保护: 本文由 李斯特 原创,转载请保留链接: https://www.wechatadd.com/artdet/9542