微信公众号启用服务器配置

微信公众号启用服务器配置,第1张

启用服务器配置之后,服务器能收到一系列微信事件:比如关注,取消关注,扫码,点击等事件,然后根据不同的事件给用户发消息。

在微信公众号后台保存服务器配置时,微信会实时发送get请求校验所填写的地址及token的正确性。

原样发回echostr才算校验通过。

其中SHA1类来源于: 微信demo

事件接收接口:

第一步:添加自定义菜单

第二步:配置好所有的菜单功能

第三步:配置服务器并且启用(启用后自定义菜单失效)

菜单失效提示

第四步:找到自定义菜单插件并【开启】即可。

注意:开启服务器配置后,自定义菜单不允许被修改。如需要修改自定义菜单就要关闭服务器配置,再重复上面的步骤即可。

在进行微信公众平台,开发配置时,出现一系列问题,在此记录,与网友共享:

1.服务器配置,需要填写url,但不知该如何填写,后经查阅,得知,所填url必须为可访问的接口,于是重新按网友提供的思路,整理接口如下,一共两个类文件:

package com.**.**.wxgzh.controller

import java.io.IOException

import javax.servlet.http.HttpServletRequest

import org.springframework.web.bind.annotation.RequestMapping

import org.springframework.web.bind.annotation.RequestMethod

import org.springframework.web.bind.annotation.ResponseBody

import org.springframework.web.bind.annotation.RestController

import com.jubao.dling.wxgzh.utils.CheckUtil

import io.swagger.annotations.Api

@RestController

@RequestMapping(value="/wxgzh")

@Api(description="微信公众号操作")

public class WeiXinController {

@RequestMapping(value="/getWxInform",method=RequestMethod.GET)

@ResponseBody

public String getWeiXinMethod(HttpServletRequest request) throws IOException{

String signature = request.getParameter("signature")

        String timestamp = request.getParameter("timestamp")

        String nonce = request.getParameter("nonce")

        String echostr = request.getParameter("echostr")

        if(CheckUtil.checkSignature(signature, timestamp, nonce)){

          return echostr

        }

return "error"

}

}

package com.**.**.wxgzh.utils

import java.security.MessageDigest

import java.util.Arrays

public class CheckUtil {

private static final String token = "yuliusa2018" 

 public static boolean checkSignature(String signature,String timestamp,String nonce){

 String[] arr = new String[]{token,timestamp,nonce} //排序Arrays.sort(arr) 

 //生成字符串 

 StringBuffer content = new StringBuffer() 

 for(int i=0i>>4 &0xf]

                buf[k++] = hexDigits[byte0 &0xf]

            }

            return new String(buf)

        } catch (Exception e) {

            return null

        }

    }

}

2.回到公众号平台,进行配置,注意token随便写,但必须和接口中定义的token保持一致

3.点击提交,出现【系统错误,请稍后重试】

对上错误进行排查,最终把端口号443去掉,然后在提交,居然又出现“请求URL超时”,如下:

查阅网上的各种方案都没解决,后看到有网友说可能是服务器配置低,于是换了台服务器,竟然提交成功了。

以上记录是自己开发过程中的问题总结,也希望能帮助他人。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/335526.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存