文档章节

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

lilugirl
 lilugirl
发布于 2017/05/31 11:49
字数 533
阅读 1673
收藏 38

微信公众号家族的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频繁失效 甚至报错。

 

 

© 著作权归作者所有

共有 人打赏支持
lilugirl
粉丝 92
博文 378
码字总数 105335
作品 0
杨浦
程序员
加载中

评论(8)

lilugirl
lilugirl

引用来自“开源中国首席大弟子”的评论

这波广告 我服
:dizzy_face:
百度得来终觉浅
百度得来终觉浅
我是不会去健身的
开源中国首席大弟子
开源中国首席大弟子
这波广告 我服
开源中国小卖部部长
开源中国小卖部部长
有打广告嫌疑
吴佩在
吴佩在
66
lilugirl
lilugirl

引用来自“Bbblack”的评论

写的字真丑
:joy:
Bbblack
Bbblack
写的字真丑
lyhuilin
lyhuilin
赞\(≧▽≦)/
10步搞定微信支付的扫码支付

先要有微信公众号,从公众号左侧菜单进入微信支付,要先申请微信支付,申请通过之后,即可使用,涉及到2个后台:公众号后台和支付平台后台 首先要得到AppID(应用ID)和AppSecret(应用密钥),获...

爬墙
2016/01/23
2.7K
2
微信支付WxPayException参数错误 return_code:Fail return_msg:time_expire时间过短

有个微信网站之前下单支付一直都正常,网站没做任何修改但最近在提交订单是总是弹出“参数错误”,在使用“微信支付样例”的jsApiPay进行测试时出现以下错误: return_code:Fail returnmsg:t...

沉默刺客
2015/10/20
4.8K
4
如何做好微信公众号的日常运营?

     微信运营,日常必做那些事情呢?每一个微信公众号的运营者都是一名产品经理,我们每天阅读后台的统计数据,每日新增人数,文章阅读人数,转发次数等。下面就让小编来介绍一下微信公众...

公众开发运营官网
2017/12/06
0
0
微信公众号支付【Java版】

微信公众号支付【Java版】 说明: ① 本文主要讲解的是微信公众号内(商城)支付部分,如需了解其他微信公众号开发内容,请访问:http://blog.csdn.net/lyq8479/article/details/8944988 【柳...

大兵瑞恩
2016/05/31
1K
5
jeewx-api 1.0.5 版本发布,微信SDK接口封装

JeeWx-api 1.0.5 版本发布,微信SDK接口封装 1、jeewx-api为何诞生 现在微信越来越火,基于微信的公众号和服务号越来越丰富,虽然微信帮助文档已经提供了相关的接口,但是接口比较多,通过代...

Jeecg
2015/09/08
5.2K
9

没有更多内容

加载失败,请刷新页面

加载更多

设计模式之 明确责任 观察者模式 状态模式 责任链模式

观察者模式是任务分发的一种模式。 如果认为我们设计的系统的各个模块(或子系统)的最终目的是完成共同任务,那么这个任务如何分配到多个模块的就是我们遇到的第一个问题。简单设计场合我们...

backbye
17分钟前
2
0
14-利用思维导图梳理JavaSE-大汇总

14-利用思维导图梳理JavaSE-Java基础知识大汇总 主要内容 1.对象入门 2.一切都是对象 3.程序流程控制 4.初始化和消除 5.权限访问控制 6.复用类 7.多态 8.接口与抽象类 9.内部类 10.容器 11.异...

飞鱼说编程
52分钟前
5
0
利用Lombok编写优雅的spring依赖注入代码,去掉繁人的@Autowired

大家平时使用spring依赖注入,都是怎么写的? @Servicepublic class OrderService { @Autowired private UserService userService;} 是不是很熟悉的感觉?但是呢 如果你用...

HeyS1
59分钟前
25
0
IBATIS 写BLOB字段遇到的问题

1、 首先遇到的配置问题,通过设置typeHandler 来支持写入。接下来由此引出了事务的问题。 <typeHandler jdbcType="BLOB" javaType="[B" callback="org.springframework.orm.ibatis.support....

echo-neo
今天
1
0
37. Sudoku Solver

Description tags: backtrack,hash table difficulty: hard Write a program to solve a Sudoku puzzle by filling the empty cells.A sudoku solution must satisfy all of the following......

52iSilence7
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部