关于使用微信登录第三方APP的实现(Android版)
2016-04-04 19:02
996 查看
转自:http://my.oschina.net/crazymus/blog/521164
使用微信登录APP,免去注册过程,现在已经有很多的类似应用了。集成该功能过程不复杂,但还是有一些地方需要注意的。
开始之前,需要做下面的准备工作。
1、到微信开放平台注册你的APP,并申请开通微信登录的权限。参考这里:
https://open.weixin.qq.com//
2、下载Android SDK和签名查看工具,请参考:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN/
3、获取到APP的签名,并填写到微信开放平台。
下面开始进入主题:
引入微信登录相关SDK到项目的lib文件夹中,就一个文件:
?
调用微信,申请用户授权:
?
将APP_ID替换成你在微信开放平台申请到的,上面的代码就可以调起微信了。
授权成功后,微信会返回一个code,下面介绍如何接收微信回传的信息。
在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity.java文件,输入类似下面的代码:
?
在AndroidManifest.xml中加入下面的代码:
?
修复WXEntryActivity中的错误,在onResp方法中获取到code,然后通过下面的接口获取到token和openid:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
得到下面的数据:
?
openid可以作为用户的唯一标识,将openid保存下来,就可以实现登录状态的检查了。
如果需要获取用户的信息,例如昵称,头像,可以使用下面的接口:
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
得到的数据为:
?
更多的接口使用,请参考:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317853&lang=zh_CN
可能的问题:
1、无法调起微信。
可能的原因是签名错误,请检查签名。
2、无法接受到微信回传的信息
可能的原因是没有把WXEntryActivity加入到AndroidManifest.xml中。
使用微信登录APP,免去注册过程,现在已经有很多的类似应用了。集成该功能过程不复杂,但还是有一些地方需要注意的。
开始之前,需要做下面的准备工作。
1、到微信开放平台注册你的APP,并申请开通微信登录的权限。参考这里:
https://open.weixin.qq.com//
2、下载Android SDK和签名查看工具,请参考:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN/
3、获取到APP的签名,并填写到微信开放平台。
下面开始进入主题:
引入微信登录相关SDK到项目的lib文件夹中,就一个文件:
?
?
授权成功后,微信会返回一个code,下面介绍如何接收微信回传的信息。
在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity.java文件,输入类似下面的代码:
?
?
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
得到下面的数据:
?
如果需要获取用户的信息,例如昵称,头像,可以使用下面的接口:
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
得到的数据为:
?
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317853&lang=zh_CN
可能的问题:
1、无法调起微信。
可能的原因是签名错误,请检查签名。
2、无法接受到微信回传的信息
可能的原因是没有把WXEntryActivity加入到AndroidManifest.xml中。
相关文章推荐
- Android studio 百度地图开发(5)查询周边服务(加油站)
- Android Touch事件分发深入了解
- unity3D
- Android客户端实现图片轮播控件
- Ant自动打包(可动态修改包名、资源等)生成不同签名不同包名的APP
- android h.264文件帧头信息
- MapKit框架的使用
- Android SDK 接入指南
- 【Android开发经验】使用Ant批量打包Android应用全然指南
- Xcode免证书调试
- android程序与java程序的差别。
- Android_setTextColor无效解决办法
- Android性能优化之如何避免Overdraw
- Swift编程语言中如何实现自定义类型的for-in循环(基于Swift 2.2)
- Android 将反编译出的APK再回编回去,可以正常运行
- Android性能优化典范 - 第2季
- Android 命令行编译、打包生成apk文件
- Android-使用Junit单元测试
- Android界面性能调优手册
- Google Map Android api V2 中使用MapView遇到CameraUpdateFactory is not initialized!的解决办法