今天终于把阿里云上占用80端口的应用挪开,开启了80端口的Tomcat,可以把之前写的微信公众号放到服务器上。
微信公众号开发需要申请一个域名,这个域名对应你服务器的IP地址。但是单单写域名+你的web名称,在提交的时候会提示请求超时ortoken请求失败,此时需要在URL后面加一个具体的servlet或xxx.jsp,即可成功提交。记得将Token令牌与你程序里请求校验signature保持一致。
在测试之前写的功能时,OAuth2.0网页授权失败,错误提示:"errcode":48001,"errmsg":"api unauthorized"。查看调用接口
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx-----610ef571d75&redirect_uri=http://www.---.com.cn/weixin/oauthServlet&response_type=code&scope=snsapi_base&state=1#wechat_redirect"
在第一次使用网页授权时,scope=snsapi_base不能获取用户的基本信息,只能获取openid,它不需要用户同意,因此首次使用不能获取用户基本信息。将base更改为userinfo,重新测试。测试成功。使用userinfo后,在一定时间内都不需要用户同意,即可获取信息,将userinfo换成base继续测试,仍然能获取信息。
注:如果是已经关注过该微信公众号的用户,直接可以获取个人信息。如果未关注,会先提示微信登录,请授权以下信息(公开信息:昵称头像等),授权后不会自动关注该微信公众号