GVKun编程网logo

微信公众号App是什么 微信公众号App作用介绍(微信公众号app叫啥)

4

对于想了解微信公众号App是什么微信公众号App作用介绍的读者,本文将是一篇不可错过的文章,我们将详细介绍微信公众号app叫啥,并且为您提供关于11-网页,网站,微信公众号基础入门(配置自己的微信公众

对于想了解微信公众号App是什么 微信公众号App作用介绍的读者,本文将是一篇不可错过的文章,我们将详细介绍微信公众号app叫啥,并且为您提供关于11-网页,网站,微信公众号基础入门(配置自己的微信公众号,添加一个按钮)、1分钟了解微信公众号API的套路、7-网页,网站,微信公众号基础入门(微信配网_申请微信公众号)、Java微信公众号开发之通过微信公众号获取用户信息的有价值信息。

本文目录一览:

微信公众号App是什么 微信公众号App作用介绍(微信公众号app叫啥)

微信公众号App是什么 微信公众号App作用介绍(微信公众号app叫啥)

微信公众号App,以方便公众号运营,相信大家都不清楚 微信公众号App是什么?微信公众号App有什么用? 这里给大家介绍下。

微信公众号App是什么?

那就是微信公众号未来将会推出独立的App,这个App是面向微信公众号的运营者的,并非消息聚合阅读平台。

微信公众号App有什么用?

自微信上线订阅号和公众号平台以来,各种专栏作者给用户推送了数不胜数的优质内容。不过过去公众号的内容编辑工作都需要在PC端上编写,张小龙称未来或会鼓励作者在手机端上编写文章。

过去公众号只能写长文,未来会鼓励用户用手机来创作并进行短消息的发布。此外,通过跟苹果公司协商,公众号此前暂停的赞赏功能有望恢复,但同时也会进行不小的改动,即从过去打赏文章变成打赏作者本人,公众号也会在今后突出对作者个人的重视,将来在公众平台里,个人作者会作为一个独立的栏目出现。

起初微信还是一个很纯粹的聊天软件,文字聊天再到语音聊天,也没有打破聊天的范畴。但是自朋友圈、订阅号、公众号,再到后来的小程序等功能上线,现在微信已经成为一个集支付、交流、场景社交、生活服务和文章订阅为一体多功能复合体,在方便用户使用的同时也变得越来越臃肿。

尽管微信公众号现在已经成为日常生活中不可或缺的信息来源,不过对于运营者来说并不算易用。微信公众号独立成为App后,有望简化公众号作者的工作流程,减轻工作压力。至于信息流方面,微信张小龙表示暂时没有这个意思,目前微信还是将自己定位为“工具”。

以上就是我介绍的 微信公众号App是什么 微信公众号App有什么用 ,希望对你有帮助。

11-网页,网站,微信公众号基础入门(配置自己的微信公众号,添加一个按钮)

11-网页,网站,微信公众号基础入门(配置自己的微信公众号,添加一个按钮)

https://www.cnblogs.com/yangfengwu/p/11066472.html

 

接着看官方文档

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183

 

 

 

这篇文章的最后

 

 

 

 

 

 

 

这是官方给的自定义菜单规定

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013     大家想实现复杂点的,看这个文档就可以

咱呢就弄个按钮就好了

点击按钮的时候跳转到  http://mnifdv.cn/airkiss   这个里面 ,咱在这里面写配网程序页面

{ "button": [ { "type": "view", "name": "AirKiss配网", "url": "http://mnifdv.cn/airkiss" } ] }

 

 

 

 

 

 

 

 

咱现在去咱的微信公众号里面,,会有个按钮 ,不过点击这个按钮现在就会报错,因为访问的地址里面咱还没写程序

咱先看一下

扫描这个二维码

 

 

 

 

 

 

 

 因为咱还没写逻辑程序,所以点击访问应该显示404,就是说不存在

 

https://www.cnblogs.com/yangfengwu/p/11148976.html

 

1分钟了解微信公众号API的套路

1分钟了解微信公众号API的套路

微信公众号家族的API的规划思路是从 “公” 和 “私”两个角度划分的。导致代码也基本按照这个套路。

1 对公API是针对网站本身的API  走/cig-bin/目录 例如 微信公众菜单  ,用户消息,JSSDK 页面分享,地图服务等

2 对私API 针对网站用户的API 走/connect/ 或者/sns/目录的 例如 微信用户信息授权,微信支付等 。

诡异的是这两条线都有access_token的概念 ,所以很多初次接触微信API的人常常傻傻分不清楚 。 

简单的说对私API的access_token是跟用户的客户端走的,不同的用户 不同的IP access_token在同一时间是不同的。

而对公的API的access_token可以在两小时内保持一样,无论客户端是谁都是同一个access_token.

 

为了解释方便 我们給两种access_token分别命名为  G access_token 和 P accss_token  简称G 和P

我们可以通过P的方式获取用户的openid存入数据库 或者其他什么地方。

P+openid 可以获取用户信息 通过请求/sns/userinfo

G+openid 也可以获取用户信息  通过/bin-cig/user/info

测下来这两种获取用户数据的方法 第G+openid更靠谱和准确,比如用户客户端语言的获取是正确的。而P+openid获取的用户信息的语言貌似总是中文。

所以微信API的几条产品线我们可以这么区分:

1 针对网站或者公众号本身的有JSSDK, 微信公众号菜单,用户消息等

2 针对用户个人有微信授权,微信支付等

值得回味的是 公众号消息发送是G 针对某个用户发送消息的openid是被动的从用户回复消息里获取的。

由于多条G的产品线使用的access_token是一样的,那么这多条产品线的代码最好能共享access_token否则可能会造成access_token频繁失效 甚至报错。

 

 

7-网页,网站,微信公众号基础入门(微信配网_申请微信公众号)

7-网页,网站,微信公众号基础入门(微信配网_申请微信公众号)

 

老是学习枯燥乏味的东西容易烦躁,所以呢,接着这几节咱实现下微信配网

 

为了让所有人都可以都可以使用,咱就用微信订阅号实现(里面提供测试版服务号),实质上只有服务号和微信企业号才具有此功能。

咱呢注册登录订阅号

https://mp.weixin.qq.com/

 

 

 

 

 

 

 

 

 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.3e3b1deb80xzYz&id=569295486025

 

https://www.cnblogs.com/yangfengwu/p/11062422.html

 

Java微信公众号开发之通过微信公众号获取用户信息

Java微信公众号开发之通过微信公众号获取用户信息

这篇文章主要介绍了Java微信公众号开发之通过微信公众号获取用户信息,需要的朋友可以参考下

最近由于公司业务,就开始研究微信开发的流程,说实话,这东西刚开始看到时候和看天书的一样,总算,看了一天的文档,测试代码终于出来了。

1、首先需要到微信网站去设置一下,我是直接用的微信测试号。

接口配置信息必须要填写的,所以说必须能将自己的服务发布出去

                             到此微信配置完毕,接下来就是直接上代码了

2、获取用户信息的方式一共是两种,前提都是用户关注微信公众号,一种是静默获取(snsapi_base,这种方式只能获取openid),另一种是授权获取(snsapi_userinfo,可以获取用户的详细信息)。

      先说第一种

(1)首先需要先访问微信的链接

https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxxxxxxxxxxxxxxx&redirect_uri=http://xxxxxx/open/openid&response_type=code&scope=snsapi_base

           这里的 uri就是直接回掉我们的服务地址,一定要记住,服务校验的判断,我是按照来判断的echostr(第二种方式也是这样)

package net.itraf.controller; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.alibaba.fastjson.JSONObject; @Controller @RequestMapping("/open") public class OpenController { @RequestMapping("/toOpenId") public @ResponseBody String getopenId(String code,String echostr,HttpServletResponse res) throws IOException{ if(echostr==null){ String url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx24d47d2080f54c5b&secret=95011ac70909e8cca2786217dd80ee3f&code="+code+"&grant_type=authorization_code"; System.out.println(code); String openId=""; try { URL getUrl=new URL(url); HttpURLConnection http=(HttpURLConnection)getUrl.openConnection(); http.setRequestMethod("GET"); http.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); http.setDoOutput(true); http.setDoInput(true); http.connect(); InputStream is = http.getInputStream(); int size = is.available(); byte[] b = new byte[size]; is.read(b); String message = new String(b, "UTF-8"); JSONObject json = JSONObject.parSEObject(message); openId = json.getString("openid"); } catch (MalformedURLException e) { e.printstacktrace(); } catch (IOException e) { e.printstacktrace(); } return openId; }else{ PrintWriter out = res.getWriter(); out.print(echostr); return null; } } //做服务器校验 @RequestMapping("/tovalid") public void valid(String echostr,HttpServletResponse res) throws IOException{ PrintWriter out = res.getWriter(); out.print(echostr); } }

第二种

(1)

https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxxxxxxx&redirect_uri=http:// 域名

/open/openid&response_type=code&scope=snsapi_userinfo&state=1&connect_redirect=1#wechat_redirect

package net.itraf.controller; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.servletexception; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONObject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/weixin") public class Oauth2Action { @RequestMapping("/oauth") public void auth(HttpServletRequest request, HttpServletResponse response) throws servletexception, IOException { String echostr = request.getParameter("echostr"); if(echostr==null){ String appId = "wx24d47d2080f54c5b"; String appSecret = "95011ac70909e8cca2786217dd80ee3f"; //拼接 String get_access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?" + "appid=" + appId + "&secret=" + appSecret + "&code=CODE&grant_type=authorization_code"; String get_userinfo = "https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN"; request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String code = request.getParameter("code"); System.out.println("******************code=" + code); get_access_token_url = get_access_token_url.replace("CODE", code); String json = HttpsGetUtil.doHttpsGetJson(get_access_token_url); JSONObject jsonObject = JSONObject.fromObject(json); String access_token = jsonObject.getString("access_token"); String openid = jsonObject.getString("openid"); get_userinfo = get_userinfo.replace("ACCESS_TOKEN", access_token); get_userinfo = get_userinfo.replace("OPENID", openid); String userInfoJson = HttpsGetUtil.doHttpsGetJson(get_userinfo); JSONObject userInfoJO = JSONObject.fromObject(userInfoJson); String user_openid = userInfoJO.getString("openid"); String user_nickname = userInfoJO.getString("nickname"); String user_sex = userInfoJO.getString("sex"); String user_province = userInfoJO.getString("province"); String user_city = userInfoJO.getString("city"); String user_country = userInfoJO.getString("country"); String user_headimgurl = userInfoJO.getString("headimgurl"); response.setContentType("text/html; charset=utf-8"); PrintWriter out = response.getWriter(); out.println(""-//W3C//DTD HTML 4.01 Transitional//EN">"); out.println(""); out.println(" A Servlet"); out.println(" "); out.print(" This is "); out.print(this.getClass()); out.println(", using the POST method n"); out.println("openid:" + user_openid + "nn"); out.println("nickname:" + user_nickname + "nn"); out.println("sex:" + user_sex + "nn"); out.println("province:" + user_province + "nn"); out.println("city:" + user_city + "nn"); out.println("country:" + user_country + "nn"); out.println("

"); out.println(" "); out.println(""); out.flush(); out.close(); }else{ PrintWriter out = response.getWriter(); out.print(echostr); } } }

package net.itraf.controller; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class HttpsGetUtil { public static String doHttpsGetJson(String Url) { String message = ""; try { System.out.println("doHttpsGetJson");//Todo:dd URL urlGet = new URL(Url); HttpURLConnection http = (HttpURLConnection) urlGet.openConnection(); http.setRequestMethod("GET"); //必须是get方式请求 24 http.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); http.setDoOutput(true); http.setDoInput(true); System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//连接超时30秒28 System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //读取超时30秒29 30 http.connect(); InputStream is =http.getInputStream(); int size =is.available(); byte[] jsonBytes =new byte[size]; is.read(jsonBytes); message=new String(jsonBytes,"UTF-8"); } catch (MalformedURLException e) { e.printstacktrace(); } catch (IOException e) { e.printstacktrace(); } return message; } }

以上所述是小编给大家介绍的Java微信公众号开发之通过微信公众号获取用户信息,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小编网站的支持!

我们今天的关于微信公众号App是什么 微信公众号App作用介绍微信公众号app叫啥的分享已经告一段落,感谢您的关注,如果您想了解更多关于11-网页,网站,微信公众号基础入门(配置自己的微信公众号,添加一个按钮)、1分钟了解微信公众号API的套路、7-网页,网站,微信公众号基础入门(微信配网_申请微信公众号)、Java微信公众号开发之通过微信公众号获取用户信息的相关信息,请在本站查询。

本文标签: