微信开发——测试号申请,接口配置,JS接口安全域名,自定义菜单

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hzw2312/article/details/69664485

假设你已经申请啦微信公众号。

1申请测试账号:

先申请公众号后,点击进入公从号的管理页面;找到“开发者工具”,找到“公众平台测试账号”,点击“进入”。


2、接口配置信息设置

必须要外网哦,也就是微信服务器要能访问到你填写到url

Url到内容有讲究,这里已java为实例,我的url对应的是一个springmvc的控制器方法,你可以写servlet或者jsp,页面填写的Token要跟控制器的Token一致。

import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.yfkj.xfcamp.controller.base.BaseController;

/**
 * 微信Token
 * @author 胡汉三
 *
 * 2017年4月7日 上午8:39:17
 */
@Controller
@RequestMapping("/wechat/token")
public class WeChatToken extends BaseController{
	
	public static final String TOKEN = "yfkj_xfcamp_token";
	
	/**
	 * 微信Token验证
	 * @param signature	微信加密签名
	 * @param timestamp	时间戳
	 * @param nonce		随机数
	 * @param echostr	随机字符串
	 * @return
	 * @throws NoSuchAlgorithmException 
	 * @throws IOException 
	 */
	@RequestMapping("get")
	public void getToken(String signature,String timestamp,String nonce,String echostr) throws NoSuchAlgorithmException, IOException{
        // 将token、timestamp、nonce三个参数进行字典序排序 
		System.out.println("signature:"+signature);
		System.out.println("timestamp:"+timestamp);
		System.out.println("nonce:"+nonce);
		System.out.println("echostr:"+echostr);
		System.out.println("TOKEN:"+TOKEN);
        String[] params = new String[] { TOKEN, timestamp, nonce };
        Arrays.sort(params);
        // 将三个参数字符串拼接成一个字符串进行sha1加密
        String clearText = params[0] + params[1] + params[2];
        String algorithm = "SHA-1";
        String sign = new String(  
        		org.apache.commons.codec.binary.Hex.encodeHex(MessageDigest.getInstance(algorithm).digest((clearText).getBytes()), true));  
        // 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信  
        if (signature.equals(sign)) {  
            response.getWriter().print(echostr);  
        }  
	}
}

弄好后,在页面填写urltoken点击“提交”会有提示配置成功。



(提交之前)


(提交之后)

3、JS接口安全域名

在公众号管理页面,点击“公众号设置”,点击“功能设置”tab页,找到“JS接口安全域名”,点击“设置”


在设置页面中,注意查看设置要求,需要下载MP_verify_EZhQkscUv44pvLNO.txt文件到Web服务器到根目录下。


设置完毕点击保存,这样就JS接口安全域名就设置完毕啦。

4、获取accesstoken

Accesstoken有有效时间限制的,如果过期啦要重新获取,而且请求获取accesstoken的接口调用次数也有限制。所以我们必须要把每次accesstoken的结果保存起来,定时去获取,官方的说法有效期是两个小时。

参考:http://blog.csdn.net/hzw2312/article/details/69524466

5、创建菜单

在微信开发者文档中:https://mp.weixin.qq.com/wiki/home/index.html

找到“自定义菜单”下的“自定义菜单创建接口”:

https://mp.weixin.qq.com/wiki/10/0234e39a2025342c17a7d23595c6b40a.html

注意:


创建前请查看微信的菜单创建定义,只能创建三个一级菜单,二级菜单只能有5个。

具体参数看文档就知道啦。我们这里直接使用页面最下方的工具——“使用网页调试工具调试该接口”:

https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95&form=%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95%E5%88%9B%E5%BB%BA%E6%8E%A5%E5%8F%A3%20/menu/create


输入你的

access_token:...
Body:{
    "button": [
        {
            "name": "旅游导览",
            "sub_button": [
                {
                    "type": "view",
                    "name": "扫一扫",
                    "url": "http://camp.yfscms.com/wechat/order/parkingPage.wx"
                },
                {
                    "type": "view",
                    "name": "位置服务",
                    "url": "http://camp.yfscms.com/wechat/location/page.wx"
                },
                {
                    "type": "view",
                    "name": "投诉建议",
                    "url": "http://camp.yfscms.com/wechat/order/suggestPage.wx"
                },
                {
                    "type": "view",
                    "name": "民意调查",
                    "url": "http://camp.yfscms.com/wechat/qaList/page.htm"
                }
            ]
        },
        {
            "name": "旅游服务",
            "sub_button": [
                {
                    "type": "view",
                    "name": "导游预约",
                    "url": "http://camp.yfscms.com/wechat/guide/list.wx"
                },
                {
                    "type": "view",
                    "name": "车位预定",
                    "url": "http://camp.yfscms.com/wechat/order/parkingPage.wx"
                },
                {
                    "type": "view",
                    "name": "团队预定",
                    "url": "http://camp.yfscms.com/wechat/order/teamPage.wx"
                },
                {
                    "type": "view",
                    "name": "活动申报",
                    "url": "http://camp.yfscms.com/wechat/order/activityPage.wx"
                }
            ]
        },
        {
            "name": "集中营",
            "sub_button": [
                {
                    "type": "view",
                    "name": "集中营介绍",
                    "url": "http://camp.yfscms.com/wechat/camp/campInfo.wx"
                },
                {
                    "type": "view",
                    "name": "英烈介绍",
                    "url": "http://camp.yfscms.com/wechat/camp/heroList.wx"
                },
                {
                    "type": "view",
                    "name": "联系我们",
                    "url": "http://camp.yfscms.com/wechat/camp/contact.wx"
                }
            ]
        }
    ]
}
点击“检查问题”,如果没有问题的话,提示:Request successful


如果返回接口中的errcode不等于0,可以查看“全局返回码说明”——

https://mp.weixin.qq.com/wiki/17/fa4e1434e57290788bde25603fa2fcbd.html

至此菜单创建完毕,可以扫一扫你的测试号,看看菜单是否完成,注意菜单的个数限制问题,微信菜单个数是有限制的!具体看官方的文档!






展开阅读全文

没有更多推荐了,返回首页