2019独角兽企业重金招聘Python工程师标准>>>

方法1:

1.登录公众账号设置OAuth2.0
2.设置菜单按钮URL为OAuth链接
3.页面后台获取:

public String getopenId() {HttpServletRequest request = ServletActionContext.getRequest();HttpServletResponse response = ServletActionContext.getResponse();response.setContentType("text/html");String code = request.getParameter("code");String urlstr = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=<appId>&secret=<secret>&code=" + code + "&grant_type=authorization_code";JSONObject json;    try {json = JSONObject.fromObject(HTTPTools.postToGetJson(urlstr));openId = json.getString("openid");} catch (Exception e) {        // e.printStackTrace();return "";}    return openId;
}


方法2:

//重写onresume()方法

@Override
protected void onResume() {
if (type != null && type.equals("mwx")) {
SharedPreferences settings = getSharedPreferences("setting", 0);
String code = settings.getString("code", null);
if (code != null && !code.equals("")) {
showProgress(true);
getOpenid(code);
}
settings.edit().clear();
settings.edit().commit();
}
super.onResume();
}

// 获取微信用户的openid和access token
public void getOpenid(String code) {
final AsyncHttpClient httpClient = Gl.sharedAsyncClient();
RequestParams params = new RequestParams();
params.put("appid", Constants.wxAPP_ID);
params.put("secret", Constants.wxAppSecret);
params.put("code", code);
params.put("grant_type", "authorization_code");
String httpurl = "https://api.weixin.qq.com/sns/oauth2/access_token";
httpClient.get(httpurl, params, new JsonHttpResponseHandler() {

        @Overridepublic void onSuccess(int statusCode, Header[] headers,JSONObject response) {            try {String opendid = response.getString("openid");                if (opendid != null && !opendid.equals("")) {openid = response.getString("openid");otherLogin("mwx", opendid);}} catch (JSONException e) {e.printStackTrace();}            super.onSuccess(statusCode, headers, response);}        @Overridepublic void onFailure(int statusCode, Header[] headers,String responseString, Throwable throwable) {            super.onFailure(statusCode, headers, responseString, throwable);}});
}


转载于:https://my.oschina.net/u/1244156/blog/377881

android微信第三方登录怎么通过code获取openid?相关推荐

  1. QQ 微信 第三方登录 分享

    </pre>一些基础性的东西我就不说了,至于怎么去下载SDK,什么的相信都知道<p></p><p>QQ </p><p>1.第三方 ...

  2. 微信第三方登录 -- (PC端+移动端)

    微信第三方登录 -- (PC端+移动端) 一.前言 一. 什么是第三方登录 所谓的第三方登录,是说基于用户在第三方平台上已有的账号和密码来快速完成己方应用的登录或者注册的功能.而这里的第三方平台,一般 ...

  3. iOS微信第三方登录实现

    iOS微信第三方登录实现 字数2824 阅读7603 评论19 喜欢46 注意:代码自己动手写,不要复制! 一.接入微信第三方登录准备工作. 移动应用微信登录是基于OAuth2.0协议标准构建的微信O ...

  4. php实例-微信第三方登录

    下面小编就为大家带来一篇微信第三方登录(原生)demo[必看篇].小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 在一家ecstore二开公司有一段时间了,公司希望往自己 ...

  5. apicloud——微信第三方登录、apple登录

    apicloud中微信第三方登录的问题 混合开发移动应用很火啊现在,多数公司都要求是必备技能,或者加分技能,所以学习来了 如下是作为前端工作者应该了解的内容,更加详细的前往官方示例 *** 结合api ...

  6. 微信第三方登录前后端分离实现思路

    微信第三方登录前后端分离实现思路 前端实现 这里说一下前后端的思路,页面加载时声明一个变量state='时间戳+6位随机数', 前端路径生成二维码, 其中有个state参数需要我们传递,这个参数你传什 ...

  7. iOS 微信 第三方登录实现

    这篇文章原blog写得很好,排版也很好,之所以转载,完全是为了做个记录. 注意:代码自己动手写,不要复制! GitHub 一.接入微信第三方登录准备工作. 移动应用微信登录是基于OAuth2.0协议标 ...

  8. 微信第三方登录(PC网站、APP、移动网页)

    最近搞微信第三方登录,搞蒙圈了. 我们的业务有两个场景需要使用微信第三方登录: 1.APP 第三方登录 2.H5网页第三方登录,具体流程:用户微信端收到一个二维码--->扫码后同意微信授权--& ...

  9. 微信第三方登录和微信相关的分享处理

    背景:前不久做的一个项目中涉及到第三方登录和第三方分享,其中就有微信第三方登录.微信朋友圈分享.微信好友分享和微信收藏.微信分享还是很简单的,现在有很多第三方都集成了分享功能,但是涉及到微信第三方登录 ...

最新文章

  1. Docker | Docker技术基础梳理(五) - Docker网络管理
  2. 西北工业大学21计算机考研,西北工业大学2018年计算机考研879专业综合考试大纲...
  3. 深入理解Java:SimpleDateFormat安全的时间格式化
  4. C++实现删除字符串中所有重复出现的字符
  5. PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
  6. 元素class属性中的空格
  7. Eclipse的Mockito模板
  8. AOP之AspectJ简单使用
  9. 2017.9.9 幸运数字 失败总结
  10. hdu acmsteps 2.1.3 Cake
  11. 《JavaScript权威指南第7版》第3章 类型、值和变量
  12. I love you
  13. vue-json-editor json编辑器
  14. cms概述 。比较shopex和ecshop区别 。smarty模板引擎的入门
  15. 【BlockingQueue】BlockingQueue接口方法说明和区别
  16. 数据库_关键字的使用
  17. 数据库系统---数据库设计
  18. 记录SEO寄生虫处理过程
  19. B站黑马Java基础+就业班+各种项目idea版本(正在更新)2 IO流
  20. 福特sync恢复出厂设置_急急急啊!福特sync服务中心如何注册

热门文章

  1. Object常用方法
  2. html页面乱码问题
  3. redis中multi和pipeline区别以及效率(推荐使用pipeline)
  4. iOS开发 mac证书无法展开
  5. apk签名的重要性和方法
  6. eclipse4.2配置tomcat+jdk
  7. java(14) - HashMap类
  8. spring框架总结
  9. KVM基础安装,手动创建桥
  10. Cocos2d-js-v3.2 在 mac 上配置环境以及编译到 Andorid 的注意事项(转)