微信公众号开发

 AdvancedAPIs.CustomApi.SendText(null, WeixinOpenId, GetDownloadInfo(codeRecord));
给opneid发送信息

 

多应用打账号打通
  如果你们的产品是一个系列应用,又或者同时有移动应用和web应用,那么按照微信的规定,每个应用都必须在开放平台进行登记和审核(需要绑定包名,所以不能多个应用使用同一个签名),这也就意味着这些应用每个都是独立的应用!前面说过,这样会导致这一系列应用当用户授权后,返回的OpenID都不一样,无法唯一标识用户!这时就需要使用UnionID机制来解决这个问题。
如下:
  1. 同一个授权用户,在同一个开放平台账号下的应用中进行授权,返回的UnionID是相同的。
  2. 同一个授权用户,在绑定到同一个开放平台账号下的公众账号进行授权,返回的UnionID是相同的。
多APP帐号互通

参考资料: http://mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html

//1生成微信授权链接
string url = OAuth.GetAuthorizeUrl(appId, "https://wx.kuiyu.net/user/bind.html", Nonce, OAuthScope.snsapi_userinfo);

//2得到code
user/bind页面接收微信回传的code,state

//3使用code,accesstoken得到openid
var result = OAuth.GetAccessToken(appId, appSecret, code);
var AccessToken=result.access_token;
if (result.errcode != ReturnCode.请求成功)
            {
                return Content("错误:" + result.errmsg);
            }

            //获取用户绑定信息
            log.Info("当前请求授权的OpenId=" + result.openid);
   var result = OAuth.GetAccessToken(appId, appSecret, code);
if (result.errcode != ReturnCode.请求成功)
            {
                return Content("错误:" + result.errmsg);
            }

            //获取用户绑定信息
            log.Info("当前请求授权的OpenId=" + result.openid);

//4.通过accesstoken与openid得到用户信息
var userInfo = OAuth.GetUserInfo(result.access_token, result.openid);
    userInfo.nickname   //微信用户昵称
    userInfo.headimgurl //微信用户头像
    userInfo.openid     //微信用户openId
微信授权

 其它版本Senparc.Weixin.MP.AdvancedAPIs.OAuthApi.GetAuthorizeUrl()

开放平台 Senparc.Weixin.Open.OAuthAPIs.OAuthApi.GetAuthorizeUrl()

posted @ 2016-06-23 15:13  奎宇工作室  阅读(344)  评论(0编辑  收藏  举报