1分钟了解微信公众号API的套路
博客专区 > lilugirl 的博客 > 博客详情
1分钟了解微信公众号API的套路
lilugirl 发表于11个月前
1分钟了解微信公众号API的套路
  • 发表于 11个月前
  • 阅读 1650
  • 收藏 38
  • 点赞 0
  • 评论 8

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

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

 

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 87
博文 311
码字总数 95838
评论 (8)
lyhuilin
赞\(≧▽≦)/
Bbblack
写的字真丑
lilugirl

引用来自“Bbblack”的评论

写的字真丑
:joy:
吴佩在
66
maxdeath
有打广告嫌疑
开源中国首席大弟子
这波广告 我服
百度得来终觉浅
我是不会去健身的
lilugirl

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

这波广告 我服
:dizzy_face:
×
lilugirl
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: