收藏
回答

微信 cgi-bin 和sns目录下的接口什么区别啊?

举个例子,https://api.weixin.qq.com/cgi-bin/user/info  和https://api.weixin.qq.com/sns/userinfo  这俩接口都是获取用户基本信息,有什么区别呢?

回答关注问题邀请回答
收藏

1 个回答

  • Veitor
    Veitor
    2020-11-10

    你这个是好问题,与你这个问题相关的问题可能还有“普通accessToken”与"网页授权accessToken"有什么区别。


    首先你得先了解一下OAuth2授权机制,公众号/小程序是用的client_credentials类型授权获取accessToken的,该类型适合程序访问接口,且一般是访问的自己的资源,不需要用户授权的,所以你看一下使用这个accessToken调用的接口都与公众号有关,如公众号发送消息、管理素材、管理菜单等等,都是调用操作公众号自己的资源。包括你这问题中的cgi-bin/user/info接口,这其实是公众号调用接口获取关注自己的用户的信息,获取的是自己的资源数据。


    而网页授权使用的是OAuth2的authorization_code类型获取accessToken的,这种类型的授权方式适用于web网页,web服务器调用接口获取的是用户的资源,所以需要用户在授权服务器上授权后,你web服务器才能得到accessToken,此时accessToken代表了该用户,所以你用这个accessToken调用接口是操作的用户的资源。所以sns/userinfo接口获取的是授权给你的用户的信息,这个用户与是否关注公众号没有关系。


    2020-11-10
    有用
    回复
登录 后发表内容