集成微信第三方登录功能获取微信用户信息

本文介绍了如何集成微信第三方登录功能,包括在微信开放平台注册应用、使用官方SDK、创建回调Activity以及处理授权响应。在过程中遇到了文档与实际API不匹配的问题,如找不到code字段,最终发现token即为code,以此获取openid和access_token,完成微信用户信息的获取。
摘要由CSDN通过智能技术生成

最近公司要做微信的第三方登录,本来打算直接用第三方的框架就算了,就闲的想自己集成试试看。

然后发现被腾讯坑得不省人事。抓狂


前提,应用必须要在微信开发平台上注册,并且通过审核,有微信登录的权限。

首先,下载官方的demo。把libs的jar包拷到自己的工程里。

在应用的包名下,建一个wxapi的包目录,在里建一个叫WXEntryActivity的activity并实现IWXAPIEventHandler监听,用于微信回调数据!

下面是我自己的WXEntryActivity,OnUserInfoListener 是我的数据回调的接口(忽略吧)

public class WXEntryActivity extends Activity implements IWXAPIEventHandler, OnUserInfoListener {

    private static final String TAG = "hezb";

    private IWXAPI api;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        api = WXAPIFactory.createWXAPI(this, ShareConstants.WX_ID, false);

        api.handleIntent(getIntent(), this);
        Log.d(TAG, "WXEntryActivity onCreate");
    }

    @Override
    public void onReq(BaseReq arg0) {
        switch (arg0.getType()) {
            case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
                break;
            case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
                break;
            default:
                break;
        }
        Log.d(TAG, "WXEntryActivity BaseReq:"+arg0.toString());
        /** 打开/重启本APP */
        Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());
        startActivity(iLaunchMyself);
    }

    @Override
    public void onResp(BaseResp arg0) {
      
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值