android友盟分享到微信,Android友盟三方登陆、微信新浪分享成功不走回调

微信新浪分享成功不走回调json

检查微信回调WXEntryActivity是不是在包名路径下,api

例如 包名是com.a.b(微信友盟开放平台),那么你这个activity应该放在com.a.b.wxapi文件夹下数组

包名为com.a.b ,这个activity放在com.a.b.view.wxapi文件夹下    致使微信回调失败(新浪同理)缓存

友盟分享我的小坑微信

微信分享: -error:错误码:2003错误信息:分享失败----权限验证失败,请检查你的签名以及该平台Appkey权限.微信开发

在确认签名无误已经已打包的状况下存在缓存问题,须要卸载微信以及你的APK重新安装app

dispatchMessage(122),这个是用户在本手机已登陆,以后又在另外一台设备登陆,本手机缓存微信已登陆状态引发的~异步

解决方法:点击微信,让手机知道微信处于未登陆状态便可ide

友盟分享成功后不须要导入任何包

微信openid和UnionID (多公众号如何判断是不是同一人)区别

经过获取用户基本信息接口,开发者可经过OpenID来获取用户基本信息,而若是开发者拥有多个公众号,可以使用如下办法经过UnionID机制来在多公众号之间进行用户账号互通。

1. 将多个公众号绑定到同一个微信开放平台(open.weixin.qq.com)账号下,即同一个Union下

2. 经过获取用户基本信息接口中的UnionID来区分用户的惟一性,不过须要注意的是:公众号只有在被绑定到微信开放平台账号下后,才会获取UnionID。只要是同一个微信开放平台账号下的公众号,用户的UnionID是惟一的。换句话说, 同一用户,对同一个微信开放平台账号下的不一样应用,UnionID是相同的。

注意两个不一样的用户信息

在不一样的公众帐号下openid是不同的,而他们的unionid倒是同样的。其余的信息不具备惟一性,没有比较意义。但基本信息是一致的。

这样就知道了关注两个公众帐号的实际上是同一我的。

unionid意义:

对于拥有多个帐号的企业来讲,unionid能够帮助识别不一样公众帐号下的用户是不是同一我的。这样在不一样帐号下对该用户提供的服务能够连续起来了。

还能够去除重复关注的用户数,便于统计真实的关注用户总数。

要第三方登录的话:

SHARE_MEDIA platform = SHARE_MEDIA.WEIXIN;

UMShareAPI  mShareAPI = UMShareAPI.get(this);

mShareAPI.doOauthVerify(this, platform, umAuthListener);

//友盟第三方登录回调

private UMAuthListener umAuthListener = new UMAuthListener() {

@Override

public void onComplete(SHARE_MEDIA platform, int action, Map data) {

data.toString()//返回的用户参数

}

@Override

public void onError(SHARE_MEDIA platform, int action, Throwable t) {

Toast.makeText( getApplicationContext(), "Authorize fail", Toast.LENGTH_SHORT).show();

}

@Override

public void onCancel(SHARE_MEDIA platform, int action) {

Toast.makeText( getApplicationContext(), "Authorize cancel", Toast.LENGTH_SHORT).show();

}

};

微信官方文档,哈哈:

获取用户我的信息(UnionID机制)

接口说明

此接口用于获取用户我的信息。开发者可经过OpenID来获取用户基本信息。特别须要注意的是,若是开发者拥有多个移动应用、网站应用和公众账号,可经过获取用户基本信息中的unionid来区分用户的惟一性,由于只要是同一个微信开放平台账号下的移动应用、网站应用和公众账号,用户的unionid是惟一的。换句话说,同一用户,对同一个微信开放平台下的不一样应用,unionid是相同的。请注意,在用户修改微信头像后,旧的微信头像URL将会失效,所以开发者应该本身在获取用户信息后,将头像图片保存下来,避免微信头像URL失效后的异常状况。

请求说明

http请求方式: GET

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

参数说明

参数

是否必须

说明

access_token

调用凭证

openid

普通用户的标识,对当前开发者账号惟一

lang

国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语,默认为zh-CN

返回说明

正确的Json返回结果:

{

"openid":"OPENID",

"nickname":"NICKNAME",

"sex":1,

"province":"PROVINCE",

"city":"CITY",

"country":"COUNTRY",

"headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",

"privilege":[

"PRIVILEGE1",

"PRIVILEGE2"

],

"unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"

}

参数

说明

openid

普通用户的标识,对当前开发者账号惟一

nickname

普通用户昵称

sex

普通用户性别,1为男性,2为女性

province

普通用户我的资料填写的省份

city

普通用户我的资料填写的城市

country

国家,如中国为CN

headimgurl

用户头像,最后一个数值表明正方形头像大小(有0、4六、6四、9六、132数值可选,0表明640*640正方形头像),用户没有头像时该项为空

privilege

用户特权信息,json数组,如微信沃卡用户为(chinaunicom)

unionid

用户统一标识。针对一个微信开放平台账号下的应用,同一用户的unionid是惟一的。

建议:

开发者最好保存unionID信息,以便之后在不一样应用之间进行用户信息互通。

错误的Json返回示例:

{

"errcode":40003,"errmsg":"invalid openid"

}

支付宝登陆:

private voidsetAliAuth() {

MDialog.Builder mDialog = newMDialog.Builder(mContext,"还没有受权,请先前往支付宝受权?");mDialog.setPositiveButton("去受权", newDialogInterface.OnClickListener() {

@Overridepublic voidonClick(DialogInterface dialog, intwhich) {

Runnable authRunnable = newRunnable() {

@Overridepublic voidrun() {

// 构造AuthTask 对象AuthTask authTask = newAuthTask(IDCardCreditActivity.this);// 调用受权接口,获取受权结果//后台生成//authUrl="apiname=com.alipay.account.auth&app_id=你的APPID&app_name=mc&auth_type=AUTHACCOUNT// &biz_type=openservice&method=alipay.open.auth.sdk.code.get&pid=你帐号的PID&product_id=APP_FAST_LOGIN// &scope=kuaijie&sign_type=RSA2&target_id=-8979618297616007166&sign=本身生成"Map result = authTask.authV2(authUrl, true);Message msg = newMessage();msg.what= SDK_AUTH_FLAG;msg.obj= result;mHandlerAli.sendMessage(msg);}

};// 必须异步调用Thread authThread = newThread(authRunnable);authThread.start();}

});mDialog.create().show();}

private static final intSDK_AUTH_FLAG= 3;@SuppressLint("HandlerLeak")

privateHandler mHandlerAli= newHandler() {

@SuppressWarnings("unused")

public voidhandleMessage(Message msg) {

switch(msg.what) {

caseSDK_AUTH_FLAG: {

@SuppressWarnings("unchecked")

AuthResult authResult = newAuthResult((Map) msg.obj, true);String resultStatus = authResult.getResultStatus();// 判断resultStatus 为“9000”且result_code// 为“200”则表明受权成功,具体状态码表明含义可参考受权接口文档if(TextUtils.equals(resultStatus,"9000") && TextUtils.equals(authResult.getResultCode(),"200")) {

// 获取alipay_open_id,调支付时做为参数extern_token 的value// 传入,则支付帐户为该受权帐户result= authResult.getResult();MLog.e("受权成功\n"+ String.format("authCode:%s",authResult.getResult()));} else{

// 其余状态值则为受权失败MyToast.showMessage("受权失败");}

break;}

}

}

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值