收藏
回答

wx.login获取openId一定要把appid那些参数写在url里面?

wx.login获取openId一定要把appid那些参数写在https://api.weixin.qq.com/sns/jscode2session里面?


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

4 个回答

  • 心情不错
    心情不错
    02-10

    楼主我想资讯下,我在本地通过后台方法拿到appid了。提交体验版时就获取不到,这个是什么原因。是因为我们的服务器访问不了外网么

    02-10
    有用
    回复 2
    • 雨未歇 🐼
      雨未歇 🐼
      03-16
      我也是这样,但是我的是2个测试用户拿不到,其他的用户都正常。
      03-16
      回复
    • 雨未歇 🐼
      雨未歇 🐼
      03-16
      腾云讯服务器,20多人测试体验版。是上线环境
      03-16
      回复
  • 跑地不快
    跑地不快
    02-09
    import com.fasterxml.jackson.core.JsonParseException;
    import com.fasterxml.jackson.databind.JsonMappingException;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.ystlfj.oa.config.weixin.WeiXinConfig;
    import com.ystlfj.oa.pojo.WeiXinLogin;
    import com.ystlfj.oa.service.WeiXinLoginService;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.web.client.RestTemplate;
    
    import java.io.IOException;
    
    @Service("weiXinLoginService")
    public class WeiXinLoginServiceImpl implements WeiXinLoginService {
        @Autowired
        private WeiXinConfig weiXinConfig;
    
        private static Logger logger = LoggerFactory.getLogger(WeiXinLoginServiceImpl.class);
    
        @Override
        public WeiXinLogin getOpenId(String code) {
            String url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + weiXinConfig.getAppid() + "&secret=" + weiXinConfig.getSecret() +
                    "&js_code=" + code + "&grant_type=authorization_code";
            RestTemplate template = new RestTemplate();
            String result = template.getForObject(url,String.class);
            ObjectMapper mapper = new ObjectMapper();
            WeiXinLogin weiXinLogin =new WeiXinLogin();
            try {
                // 将相关key对应的value里的的string转换成对象的实体类集合
                weiXinLogin = mapper.readValue(result, WeiXinLogin.class);
            } catch (JsonParseException e) {
                e.printStackTrace();
                logger.error(e.getMessage());
            } catch (JsonMappingException e) {
                e.printStackTrace();
                logger.error(e.getMessage());
            } catch (IOException e) {
                e.printStackTrace();
                logger.error(e.getMessage());
            }
    //        System.out.println(url);
    //        System.out.println(result);
    //        System.out.println(weiXinLogin.toString());
            return weiXinLogin;
        }
    }
    springboot2.1.6   用的  RestTemplate 发起http连接,weixinconfig  是  配置类获取  appid 和  secret,  WeiXinLogin  封装 获取到 openid 和session_key
    


    02-09
    有用
    回复
  • Hanks🇨🇳
    Hanks🇨🇳
    2019-12-06

    谢邀,直接拼,就OK。APPID和秘钥我都弄的假的。


    2019-12-06
    有用
    回复 8
    • 之墨
      之墨
      2019-12-06
      我试试
      2019-12-06
      回复
    • 之墨
      之墨
      2019-12-06
      JSON包有木得
      2019-12-06
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      2019-12-06回复之墨
      阿里巴巴的JSON包,你找下
      2019-12-06
      回复
    • 之墨
      之墨
      2019-12-06
      我的HttpClientUtil工具类里边也没有sendHttpGet方法
      2019-12-06
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      2019-12-06回复之墨
      自己写的
      2019-12-06
      回复
    查看更多(3)
  • 子不语
    子不语
    2019-12-06

    是的

    2019-12-06
    有用
    回复 7
    • 之墨
      之墨
      2019-12-06
      那我java使用HttpClientUtil工具请求,无法把参数写在url里面怎么处理?
      2019-12-06
      回复
    • 子不语
      子不语
      2019-12-06回复之墨
      java没有get请求?
      2019-12-06
      回复
    • 之墨
      之墨
      2019-12-06
      怎么写,小白一个,求告知
      2019-12-06
      回复
    • 子不语
      子不语
      2019-12-06回复之墨
      百度
      2019-12-06
      回复
    • 子不语
      子不语
      2019-12-06回复之墨
      我帮你找会java的
      2019-12-06
      1
      回复
    查看更多(2)
登录 后发表内容
问题标签