首页  >  问答  >  正文

java - 微信静默方式 获得的access_token有什么用,即 Scope为snsapi_base时

微信静默方式 获得的access_token有什么用,即 Scope为snsapi_base时 获得code,通过code获得的access_token有什么用,这个access_token和普通access_token和网页授权access_token(Scope为snsapi_userinfo)有什么区别,
实在搞不明白了,有哪位兄弟姐妹给解惑一下,实在整不明白了,

大家讲道理大家讲道理2712 天前690

全部回复(1)我来回复

  • 迷茫

    迷茫2017-04-18 10:26:51

    刚才测试了一下:分别是三个用户微信号;
    1.关注了本公众号的微信号
    2.未关注本公众号但已经授权过的微信号
    3.未关注也未授权的微信号

    第一种情况可以通过静默情况得到的access_token和openid获取用户详情
    第二种情况也可以,
    第三种情况获取不到,报48001错误,apiauthorized错误

    结论:如果微信号和公众号之间存在关注或者授权过的交互,可以通过静默方式获得用户的详细信息,若没有则不能获得。

    上面所说的获取用户权限的接口为:

    
    
    https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN;
    

    注意是 /sns/userinfo?这里是通过特殊网页授权获得用户信息
    还有根据微信的开发文档关注微信号的用户还可以根据 普通access_token获取用户信息,此api为:

    
    
    https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

    注意是 /cgi-bin/user/info?

    这两个api是不同的,

    -第一个主要用于获取未关注微信号的用户的详细信息;
    -第二个主要用于获取已经关注微信号的用户,比方说用户关注微信号时 ,微信服务器向本地服务器发送的信息里面包括openid,第二种方法就可以获取用户的详细信息。

    回复
    0
  • 取消回复